import { type UseMutationReturn } from '@vue/apollo-composable';
import { type ClassConstructor } from '../utils/object.js';
import { type CacheOption } from './api.js';
declare type VariableOptions = {
    type?: string;
    name?: string;
    value: any;
    list?: boolean | [boolean];
    required?: boolean;
} | {
    [k: string]: any;
};
export declare function useGraphQl(): {
    query: <T>(operation: string, fields: Array<string | Object> | ClassConstructor<any>, variables?: VariableOptions, cache?: boolean) => import("@vue/apollo-composable").UseQueryReturn<T, Record<string, never>>;
    queryPromise: <T>(operation: string, fields: Array<string | Object> | ClassConstructor<any>, variables?: VariableOptions, cache?: CacheOption) => Promise<T>;
    mutation: <T>(operation: string, fields: Array<string | Object> | ClassConstructor<any>, variables?: VariableOptions) => UseMutationReturn<any, any>;
    mutationPromise: <T>(operation: string, fields: Array<string | Object> | ClassConstructor<any>, variables?: VariableOptions) => Promise<T>;
};
export {};
