/** * This file contains the types for providing automatic type inference * for SDK related method calls that is generated from the OpenAPI spec. * * This file is not needed for the core driver interface to work, but it is * useful for providing type inference for the SDK related method calls. */ import { paths } from "./paths"; export declare type Method = "get" | "post" | "put" | "delete" | "patch"; declare type ExtractMethodTypeWithUndefined

= M extends keyof paths[P] ? paths[P][M] : never; export declare type ExtractMethodType

= Exclude< ExtractMethodTypeWithUndefined, undefined >; declare type MakeAllRequired = { [K in keyof T]-?: NonNullable; }; declare type DeepRequireAllFields = T extends any ? MakeAllRequired : never; export declare type RequestBody

= ExtractMethodType extends { requestBody?: infer ReqBody; } ? ReqBody extends { content: { "application/json": infer R; }; } ? R | undefined : undefined : undefined; export declare type UncleanedResponseBody

= ExtractMethodType extends { responses: { 200: { content: { "application/json": infer R; }; }; }; } ? R : unknown; export declare type RemoveGeneralError = T extends { status: "GENERAL_ERROR"; } ? never : T; export declare type ResponseBody

= DeepRequireAllFields< RemoveGeneralError> >; declare type ExtractPathParams = T extends `${string}<${infer Param}>${infer Rest}` ? Param | ExtractPathParams : never; declare type PathParamsObject = ExtractPathParams extends never ? undefined : { [K in ExtractPathParams]: string; }; declare type ExtractQueryParams

= ExtractMethodType extends { parameters?: { query?: infer Q; }; } ? Q extends object ? Q : {} : {}; export declare type PathParam

= | P | { path: P; pathParams: PathParamsObject

; queryParams?: ExtractQueryParams; }; export declare type RequestInitWithInferredBody

= Omit & { body?: RequestBody; }; export declare type RequestInitWithInferredBodyRequired

= Omit< RequestInit, "body" > & { body: RequestBody; }; export {};