/**
 * DataGrid Event Adapter - 事件适配器
 * 桥接 DataGrid Canvas 事件与 AssetMatrix tableController 回调函数
 */
/**
 * Event categories matching AssetMatrix's event classification
 */
export declare const EventCategory: {
    /** A - Cell interaction events (click, dblclick, select, delete) */
    CELL_INTERACTION: "A";
    /** B - Header events (click, contextmenu, resize) */
    HEADER: "B";
    /** C - Drag events (dragstart, dragover, drop, dragend) */
    DRAG: "C";
    /** D - Hover events (mouseover, mouseout, tooltip) */
    HOVER: "D";
    /** E - Keyboard events (Ctrl+C, Ctrl+Z, Delete, arrows) */
    KEYBOARD: "E";
    /** F - Viewer callback events (onExpand, onFileAdd, etc.) */
    VIEWER_CALLBACK: "F";
};
/**
 * Context extracted from a DataGrid cell event
 */
export interface EventContext {
    rowIndex: number;
    colIndex: number;
    rowId?: string | number;
    columnKey: string;
    value?: any;
    pathId?: string;
    parentHasLink?: boolean;
    rowData?: Record<string, any>;
}
/**
 * Extract event context from a DataGrid cell event
 * Replaces the old pattern of e.delegateTarget.getAttribute('data-id')
 */
export declare function extractEventContext(event: Record<string, any>): EventContext;
/**
 * Map DOM delegate event name to DataGrid event name
 */
export declare function mapDomEventToDataGridEvent(domEventName: string): string;
type EventHandler = (event: any) => void;
/**
 * DataGrid Event Adapter
 * Bridges DataGrid Canvas events with AssetMatrix controller callbacks
 */
export declare class DataGridEventAdapter {
    controller: any;
    private handlers;
    constructor(controller: any);
    /**
     * Register an event handler
     */
    on(eventName: string, handler: EventHandler): void;
    /**
     * Remove a specific event handler
     */
    off(eventName: string, handler: EventHandler): void;
    /**
     * Remove all event handlers
     */
    offAll(): void;
    /**
     * Emit an event to all registered handlers
     */
    emit(eventName: string, event: any): void;
    /**
     * Check if an event has registered handlers
     */
    hasHandler(eventName: string): boolean;
    /**
     * Bind Category A: Cell Interaction Events
     * dblclick, click/select, delete
     */
    bindCellInteractionEvents(): void;
    /**
     * Bind Category B: Header Events
     */
    bindHeaderEvents(): void;
    /**
     * Bind Category C: Drag Events
     */
    bindDragEvents(): void;
    /**
     * Bind Category D: Hover Events
     */
    bindHoverEvents(): void;
    /**
     * Bind Category E: Keyboard Events
     * 受 enableKeyboardShortcuts 参数控制，默认不绑定
     */
    bindKeyboardEvents(enableKeyboardShortcuts?: boolean): void;
    /**
     * Bind Category F: Viewer Callback Events
     */
    bindViewerCallbackEvents(): void;
    /**
     * Bind all event categories at once
     * @param enableKeyboardShortcuts 是否启用键盘快捷键事件绑定，默认 false
     */
    bindAll(enableKeyboardShortcuts?: boolean): void;
    /**
     * Dispose the adapter, removing all handlers and clearing references
     */
    dispose(): void;
}
export {};
