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>>>;
};
