Files
Verso/services/web/app/src/infrastructure/Modules.d.ts
T
Andrew Rumble 54d953cfff Merge pull request #32743 from overleaf/ar-new-v1-api
[web] new v1 api client

GitOrigin-RevId: 7ba0deef0d10526198a2a6ba997c2dcff7b7e5a5
2026-04-24 08:07:03 +00:00

28 lines
782 B
TypeScript

import type { RequestInit, Response } from 'node-fetch'
export type V1RequestOptions = Omit<RequestInit, 'method'> & {
uri: string
qs?: Record<string, string | undefined>
expectJson?: boolean
expectedStatusCodes?: number[]
method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
}
export interface KnownHookSignatures {
makeV1Request: (
options: V1RequestOptions
) => Promise<{ body: unknown; response: Response }>
}
export type HookName = keyof KnownHookSignatures | string
export type HookParameters<K extends HookName> =
K extends keyof KnownHookSignatures
? Parameters<KnownHookSignatures[K]>
: any[]
export type HookReturnType<K extends HookName> =
K extends keyof KnownHookSignatures
? Awaited<ReturnType<KnownHookSignatures[K]>>
: any