import type { DropDownMenuOptions, MenuInstanceInfo, MenuInstanceType } from '../../../ts-types';
import type { BaseMenu } from './BaseMenu';
import type { BaseTableAPI } from '../../../ts-types/base-table';
export interface IMenuHandler {
    new (table: BaseTableAPI): MenuHandler;
}
export declare class MenuHandler {
    private _table;
    private _menuInstances?;
    private _attachInfo?;
    constructor(table: BaseTableAPI);
    release(): void;
    _bindToCell(col: number, row: number, type: MenuInstanceType, dropDownMenuOptions?: DropDownMenuOptions): void;
    _unbindFromCell(): void;
    _isBindToCell(col: number, row: number): boolean;
    pointInMenuElement(x: number, y: number): boolean;
    _bindTableEvent(table: BaseTableAPI): void;
    _getMenuInstanceInfo(col: number, row: number, type: MenuInstanceType, dropDownMenuOptions?: DropDownMenuOptions): {
        instance?: BaseMenu;
        type: MenuInstanceType;
        info: MenuInstanceInfo;
    } | null;
    containElement(el: HTMLElement): boolean;
}
