import { DocumentNode } from 'graphql';
import { DocumentParameter, VariablesParameter, OptionsParameter, UseQueryOptions, UseQueryReturn } from './useQuery';
import type { OperationVariables } from '@apollo/client/core';
export interface UseLazyQueryReturn<TResult, TVariables extends OperationVariables> extends UseQueryReturn<TResult, TVariables> {
    /**
     * Activate the query and starts loading.
     * @param document Override document
     * @param variables Override variables
     * @param options Override options
     * @returns Returns false if the query is already active, otherwise the next result of the query.
     */
    load: (document?: DocumentNode | null, variables?: TVariables | null, options?: UseQueryOptions | null) => false | Promise<TResult>;
}
export declare function useLazyQuery<TResult = any, TVariables extends Record<string, unknown> = any>(document: DocumentParameter<TResult, TVariables>, variables?: VariablesParameter<TVariables>, options?: OptionsParameter<TResult, TVariables>): UseLazyQueryReturn<TResult, TVariables>;
