export type GetSuccessResp = Operation extends { responses: { 200: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 201: { content: { "application/json": infer R; }; }; }; } ? R : never; export type GetErrResp = Operation extends { responses: { "4XX": { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { "5XX": { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 400: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 401: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 402: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 403: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 404: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 429: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 500: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 501: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 502: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 503: { content: { "application/json": infer R; }; }; }; } ? R : Operation extends { responses: { 504: { content: { "application/json": infer R; }; }; }; } ? R : never; export type GetQueryParams = O extends { parameters: { query: infer R; }; } ? R : never; export type GetPathParams = O extends { parameters: { path: infer R; }; } ? R : never; export type GetReqHeaders = O extends { parameters: { header: infer R; }; } ? R : never; export type GetBody = O extends { requestBody: { content: { "application/json": infer R; }; }; } ? R : never; export type RequestPayload = { query?: GetQueryParams; path?: GetPathParams; header?: GetReqHeaders; body?: GetBody; }; export type MethodDefinition = { title?: string; description?: string; request?: { query?: ((payload?: GetQueryParams) => boolean) | GetQueryParams; path?: ((payload?: GetPathParams) => boolean) | GetPathParams; header?: ((payload?: GetReqHeaders) => boolean) | GetReqHeaders; body?: ((payload?: GetBody) => boolean) | GetBody; bodyDecoder?: (payload?: Uint8Array[]) => any; }; response?: { encoder?: (payload?: any) => string; delay?: (() => number) | number; statusCode?: (() => number) | number; header?: ((req?: RequestPayload) => Record) | Record; success?: ((req?: RequestPayload) => GetSuccessResp) | GetSuccessResp; error?: ((req?: RequestPayload) => GetErrResp) | GetErrResp; }; }; export type Methods = { [K in keyof T[U]]?: MethodDefinition[]; }; export type MockRoutes = { [K in keyof T]?: Methods; }; export type Mocker = { url(url: U, methods: Methods): void; records(): MockRoutes; register(mocker: Mocker): void; }; export type MockProxyOptions = { baseURL?: string; codec?: { bodyDecoder?: (payload?: Uint8Array[]) => any; responseEncoder?: (payload?: any) => string; }; }; export type RequestOptions = { urlPath: string; method: string; headers?: Record; query?: Record; cookies?: Record; body?: Uint8Array[]; }; //# sourceMappingURL=types.d.ts.map