type IApiFn = string | ((...arg: any[]) => Promise<any>);
export declare const useEditableTable: ({ addApi, editApi, deleteApi, onApiCompleted, }: {
    addApi?: IApiFn;
    editApi?: IApiFn;
    deleteApi?: IApiFn;
    onApiCompleted?: () => void;
}) => {
    table: import('vue').Ref<any, any>;
    showError: import('vue').Ref<boolean, boolean>;
    error: import('vue').Ref<string | number, string | number>;
    showChangeDialog: import('vue').Ref<boolean, boolean>;
    isEditMode: import('vue').Ref<boolean, boolean>;
    isLoading: import('vue').Ref<boolean, boolean>;
    isBatchLoading: import('vue').Ref<boolean, boolean>;
    apiCall: <T = any>(api: IApiFn, ...arg: any[]) => Promise<T | undefined>;
    onAddRow: <T = any>(...arg: any[]) => Promise<T | undefined>;
    onEditRow: <T = any>(...arg: any[]) => Promise<T | undefined>;
    onDeleteRows: <T = any>(...arg: any[]) => Promise<T | undefined>;
    batchApiCalls: <T>(api: IApiFn, args: any[][], iterate?: boolean) => Promise<Awaited<T>[]>;
    reloadTable: () => void;
};
export {};
