import type { ListTable, BaseTableAPI, pluginsDefinition } from '@visactor/vtable';
import { TABLE_EVENT_TYPE } from '@visactor/vtable';
type TableEventType = typeof TABLE_EVENT_TYPE[keyof typeof TABLE_EVENT_TYPE];
import type { EventArg } from './types';
export declare enum ExcelEditCellKeyboardResponse {
    ENTER = "enter",
    TAB = "tab",
    ARROW_LEFT = "arrowLeft",
    ARROW_RIGHT = "arrowRight",
    ARROW_DOWN = "arrowDown",
    ARROW_UP = "arrowUp",
    DELETE = "delete",
    BACKSPACE = "backspace"
}
export type IExcelEditCellKeyboardPluginOptions = {
    id?: string;
    responseKeyboard?: ExcelEditCellKeyboardResponse[];
    deleteWorkOnEditableCell?: boolean;
    batchCallChangeCellValuesApi?: boolean;
};
export declare class ExcelEditCellKeyboardPlugin implements pluginsDefinition.IVTablePlugin {
    id: string;
    name: string;
    runTime: "initialized"[];
    table: ListTable;
    pluginOptions: IExcelEditCellKeyboardPluginOptions;
    responseKeyboard: ExcelEditCellKeyboardResponse[];
    batchCallChangeCellValuesApi: boolean;
    constructor(pluginOptions?: IExcelEditCellKeyboardPluginOptions);
    run(...args: [EventArg, TableEventType | TableEventType[], BaseTableAPI]): void;
    bindEvent(): void;
    handleKeyDown(event: KeyboardEvent): void;
    isExcelShortcutKey(event: KeyboardEvent): boolean;
    setResponseKeyboard(responseKeyboard: ExcelEditCellKeyboardResponse[]): void;
    deleteResponseKeyboard(responseKeyboard: ExcelEditCellKeyboardResponse[]): void;
    addResponseKeyboard(responseKeyboard: ExcelEditCellKeyboardResponse[]): void;
    release(): void;
}
export {};
