import type { PrimaryTableProps } from '../interface';
import type { ErrorListObjectType, PrimaryTableRowEditContext, TableErrorListMap, TableRowData } from '../type';
import type { OnEditableChangeContext } from '../editable-cell';
export interface TablePromiseErrorData {
    errors: ErrorListObjectType<TableRowData>[];
    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<{
        result: TableErrorListMap;
    }>;
    validateRowData: (rowValue: any) => Promise<{
        trigger: import("../type").TableValidateTrigger;
        result: ErrorListObjectType<TableRowData>[];
    }>;
    onRuleChange: (context: PrimaryTableRowEditContext<TableRowData>) => void;
    clearValidateData: () => void;
    onPrimaryTableCellEditChange: (params: OnEditableChangeContext<TableRowData>) => void;
};
