infinity-forge
Version:
27 lines (26 loc) • 1.11 kB
TypeScript
import { useQueryProps } from "../../../../ui/index.js";
export declare function createClient<Swagger>({ fetcher, defaultHeaders, }: {
defaultHeaders?: Record<string, string>;
fetcher: (params: {
url?: string;
method?: string;
body?: any;
headers?: Record<string, string>;
}) => Promise<any>;
}): {
client: <Url extends keyof Swagger, Method extends keyof Swagger[Url]>({ url, method, body, headers, }: {
url: Url;
method: Method;
headers?: Record<string, string>;
body?: Partial<Omit<Swagger[Url][Method], "result">>;
}) => Promise<Swagger[Url][Method] extends {
result: infer R;
} ? R : never>;
useSwagger: <Url extends keyof Swagger, Method extends keyof Swagger[Url]>({ url, method, body, ...rest }: {
url: Url;
method: Method;
body?: Partial<Omit<Swagger[Url][Method], "result">>;
} & Partial<Omit<useQueryProps<any>, "queryFn">>) => Required<import("../../../../ui/index.js").QueryState<Awaited<Swagger[Url][Method] extends {
result: infer R;
} ? R : never>>>;
};