import type { DefaultRow } from 'element-plus/es/components/table/src/table/defaults'; import type { InjectionKey, ComputedRef } from 'vue'; import type { TableEditableCellValidateOwnCallback } from '../../../table-editable-cell'; import type { useTableStore } from '../composables/use-table-store'; export type TableEditableValidator = (row: DefaultRow, callback: (errMsg?: string) => void, ownStates: Record, rowStates: Record, cellsStates: Record>, val: any) => void; export type TableEditableInsertRowsType = 'before' | 'after'; export interface TableEditableProvider { store: ReturnType; editableColumns: ComputedRef; validateMsgTooltip: ComputedRef; tableData: ComputedRef; validateCells: (rows: DefaultRow[], cells: string[], cb: TableEditableCellValidateOwnCallback, deep?: boolean) => void; } export declare const TABLE_EDITABLE_INJECTION_KEY: InjectionKey;