import { type ClassConstructor } from '../utils/object.js';
import type { graphqlTypeObject, graphqlVariable } from '../types/graphqlOperation.js';
export declare function buildFields(operationFields: graphqlTypeObject, fields?: Array<string | Object> | ClassConstructor<any>, depth?: number): Array<string | Object>;
export declare function buildVariables(outputVariables?: graphqlVariable[], inputVariables?: {
    [p: string]: any;
}, reject?: Function, isRoot?: boolean): Record<string, any> | undefined;
export declare function buildRequiredInputFields(variables: graphqlVariable[] | undefined, inputField?: string): string[];
export declare function useGraphQlOperation<T>(operationType: string, operation: string, fields?: Array<string | Object> | ClassConstructor<any>, variables?: {
    [p: string]: any;
}, cache?: boolean | number): Promise<T>;
