import type { FormDialogCallback } from '../types/formDialog.js';
import type { GraphqlModelConfigProps } from './graphqlModelOperation.js';
export type ApiModelItemProps = Omit<GraphqlModelConfigProps, 'operationSearch' | 'operationReadPageable'>;
export declare function useApiModelItem<T extends ApiModelItemProps>(props: T): {
    modelBy: import("vue").Ref<object | undefined, object | undefined>;
    item: import("vue").Ref<Record<string, any> | undefined, Record<string, any> | undefined>;
    isLoading: import("vue").Ref<boolean, boolean>;
    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: (deleteItem: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
    reload: () => Promise<void>;
};
