import { QueryHookOptions, MutationResult, MutationFunctionOptions, QueryResult, MutationTuple, ApolloError, DefaultContext, ApolloCache } from '@apollo/client';
import { OperationVariables, FetchResult, TypedDocumentNode } from '@apollo/client/core';
import { MutationHookOptions } from '@apollo/client/react';
import { DocumentNode } from 'graphql';
declare type TodoAny = any;
export declare type UnsubscribeToMoreFn = () => void;
export declare type SubscribeToMoreProps = {
    subscriptionId: string;
    subscriptionQueries: DocumentNode[];
    variables: OperationVariables;
    dataType: string;
    subscribeToMore: (params: {
        document: DocumentNode;
        variables: OperationVariables;
        updateQuery: any;
    }) => UnsubscribeToMoreFn;
};
export declare function usePreviousValue(value: unknown): unknown;
export declare function useSubscribeToMore(props: SubscribeToMoreProps): void;
export declare function useApolloError(): (error: ApolloError) => void;
export declare function useQuery(query: DocumentNode, options: QueryHookOptions): QueryResult;
export declare type MutateFn = (options?: MutationFunctionOptions<TodoAny, Record<string, TodoAny>> | undefined) => Promise<FetchResult<TodoAny, Record<string, TodoAny>, Record<string, TodoAny>>>;
export declare type MutationProps = {
    children: (mutate: MutateFn, res: MutationResult) => void;
    autoCommitInterval?: number;
    mutation: DocumentNode;
};
export declare function useMutation<TData = TodoAny, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<TodoAny> = ApolloCache<TodoAny>>(mutation: DocumentNode | TypedDocumentNode<TData, TVariables>, options: MutationHookOptions<TData, TVariables, TContext> & {
    autoCommitInterval?: number;
}): MutationTuple<TData, TVariables, TContext, TCache>;
export {};
