import type { PrimaryTableProps } from '../interface';
import type { AllValidateResult } from '../../form/type';
import type { PrimaryTableRowEditContext, TableErrorListMap, TableRowData } from '../type';
import type { OnEditableChangeContext } from '../editable-cell';
export declare type ErrorListObjectType = PrimaryTableRowEditContext<TableRowData> & {
    errorList: AllValidateResult[];
};
export interface TablePromiseErrorData {
    errors: ErrorListObjectType[];
    errorMap: TableErrorListMap;
}
export default function useRowEdit(props: PrimaryTableProps): {
    errorListMap: import("vue").Ref<TableErrorListMap>;
    editableKeysMap: import("vue").ComputedRef<{
        [key: string]: boolean;
        [key: number]: boolean;
    }>;
    validateTableData: () => Promise<unknown>;
    validateRowData: (rowValue: any) => Promise<unknown>;
    onRuleChange: (context: PrimaryTableRowEditContext<TableRowData>) => void;
    clearValidateData: () => void;
    onPrimaryTableCellEditChange: (params: OnEditableChangeContext<TableRowData>) => void;
};
