import { Ref } from "@vue/composition-api";
import { RequestType } from "./type";
export interface QueryParams<TParam, TData> {
    variables?: TParam;
    update?: (result: TData) => void;
}
export interface QueryResult<TParam, TData> {
    loading: Ref<boolean>;
    data: Ref<TData>;
    error: Ref<any>;
    refetch: (params: QueryParams<TParam, TData>) => void;
}
interface Options {
    lazy?: boolean;
}
export declare const useQuery: <TParam = Record<string, any>, TData = any>(request: RequestType<TParam, TData>, params?: QueryParams<TParam, TData>, options?: Options) => QueryResult<TParam, TData>;
export {};
