import type { $OpenApiTs } from "./types.gen";
export type * from "./types.gen";
type HttpMethod = "get" | "post" | "put" | "delete" | "patch";
type Paths = keyof $OpenApiTs;
type MethodsForPath
= keyof $OpenApiTs[P];
type SuccessStatusCode = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
type RenameFields = {
[K in keyof T as K extends "trDataset" ? "datasetId" : K extends "trOrganization" ? "organizationId" : K extends "requestBody" ? "data" : K]: T[K];
};
type RequestParams> = $OpenApiTs[P][M] extends {
req: infer R;
} ? RenameFields : never;
export type RequestBody> = $OpenApiTs[P][M] extends {
req: {
requestBody: infer R;
};
} ? R : never;
export type ResponseBody
> = $OpenApiTs[P][M] extends {
res: infer R;
} ? R extends {
[K in SuccessStatusCode]?: any;
} ? R[Extract] : never : never;
type EjectOption = "eject" | false;
type EjectedRequestBase = {
datasetId?: string;
organizationId?: string;
data?: T;
[key: string]: any;
};
interface TrieveOpts {
apiKey?: string;
baseUrl: string;
debug?: boolean;
organizationId?: string;
omitCredentials?: boolean;
}
export declare class TrieveFetchClient {
apiKey?: string;
baseUrl: string;
debug: boolean;
organizationId?: string;
omitCredentials?: boolean;
constructor(opts: TrieveOpts);
fetch : never, URE = EJECT extends "eject" ? unknown : never, P extends Paths = Paths, M extends EJECT extends false ? MethodsForPath & HttpMethod : any = MethodsForPath
& HttpMethod>(path: P, method: EJECT extends false ? M : HttpMethod, params?: EJECT extends false ? RequestParams
: URQ, signal?: AbortSignal, parseHeaders?: (headers: Record) => void): Promise : URE>;
}
//# sourceMappingURL=fetch-client.d.ts.map