import { QueryKey } from '@tanstack/react-query';
import type { CompatibleError, CreateRouter, RouterConfig, RouterInfiniteQuery, RouterInfiniteQueryOptions, RouterMutation, RouterMutationOptions, RouterQuery, RouterQueryOptions } from './types';
export declare const router: {
    <TConfig extends RouterConfig>(key: string | QueryKey, config: TConfig): CreateRouter<TConfig>;
    query: typeof query;
    infiniteQuery: typeof infiniteQuery;
    mutation: typeof mutation;
};
declare function query<TFnData, TVariables = void, TError = CompatibleError>(options: RouterQueryOptions<TFnData, TVariables, TError>): RouterQuery<TFnData, TVariables, TError>;
declare function infiniteQuery<TFnData, TVariables = void, TError = CompatibleError, TPageParam = number>(options: RouterInfiniteQueryOptions<TFnData, TVariables, TError, TPageParam>): RouterInfiniteQuery<TFnData, TVariables, TError, TPageParam>;
declare function mutation<TFnData = unknown, TVariables = void, TError = CompatibleError, TContext = unknown>(options: RouterMutationOptions<TFnData, TVariables, TError, TContext>): RouterMutation<TFnData, TVariables, TError, TContext>;
export {};
