import type { ApiRouterHandler } from "../http/ApiRouter";
import type { NestedPrettify, UnwrapPromise } from "../utils/type";
import type { RPC } from "./rpc";
import type { UrlParser } from "./types";
type GetRPC = {
    [K in keyof RPC as K extends `GET:${infer P}` ? P : never]: RPC[K];
};
type Data<T extends keyof GetRPC> = GetRPC[T] extends ApiRouterHandler<any, infer Data, any> ? UnwrapPromise<Data> : never;
export declare function useMutate(): <T extends keyof GetRPC>(options: {
    path: T;
    params?: UrlParser<`${T & string}`>;
    search?: Record<string, any>;
}, fn?: ((data: NestedPrettify<Data<T>>) => Partial<NestedPrettify<Data<T>>>) | Partial<NestedPrettify<Data<T>>>) => any;
export {};
//# sourceMappingURL=useMutate.d.ts.map