import type { FormDialogCallback } from '../types/formDialog.js';
import { type GraphqlModelConfigProps } from './graphqlModelOperation.js';
export type GraphqlModelItemProps = Omit<GraphqlModelConfigProps, 'operationSearch' | 'operationReadPageable'>;
export declare function useGraphqlModelItem<T extends GraphqlModelItemProps>(props: T): {
    modelBy: import("vue").Ref<object | undefined, object | undefined>;
    item: import("vue").Ref<Record<string, any> | undefined, Record<string, any> | undefined>;
    operationCreate: import("vue").ComputedRef<import("../types/graphqlOperation.js").graphqlOperationObject<any, any>>;
    operationUpdate: import("vue").ComputedRef<import("../types/graphqlOperation.js").graphqlOperationObject<any, any>>;
    operationDelete: import("vue").ComputedRef<import("../types/graphqlOperation.js").graphqlOperationObject<any, any>>;
    operationRead: import("vue").ComputedRef<import("../types/graphqlOperation.js").graphqlOperationObject<any, any>>;
    fields: import("vue").ComputedRef<(string | object)[]>;
    canCreate: import("vue").ComputedRef<boolean>;
    canUpdate: import("vue").ComputedRef<boolean>;
    canDelete: import("vue").ComputedRef<boolean>;
    createItem: (createItem: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
    updateItem: (updateItem: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
    deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
    reload: () => void;
    isLoading: import("vue").Ref<boolean, boolean>;
};
