import { ActionRecord, InferActionRecord, InferInfiniteRecord, InferMutationRecord, InferQueryRecord, InfiniteRecord, QueryFactoryOptions, QueryRecord, MutationRecord } from "./types";
export declare function queryFactory<TClient, TError>({ clientGetter, mapResponse, mapQueryKey, queryClientGetter }: QueryFactoryOptions<TClient, TError>): {
    createQueries: <TNamespace extends string, TRecord extends QueryRecord<TClient, TError>>(namespace: TNamespace, definition: TRecord) => InferQueryRecord<TRecord, TNamespace, TClient, TError>;
    createMutations: <TRecord extends MutationRecord<TClient, TError_1>, TError_1>(definition: TRecord) => InferMutationRecord<TRecord, TClient, TError_1>;
    createActions: <TNamespace extends string, TRecord extends ActionRecord<TClient, TError>>(namespace: TNamespace, definition: TRecord) => InferActionRecord<TRecord, TNamespace, TClient, TError>;
    createInfiniteQueries: <TNamespace extends string, TRecord extends InfiniteRecord<TClient, TError>>(namespace: TNamespace, definition: TRecord) => InferInfiniteRecord<TNamespace, TRecord, TClient, TError>;
};
