import { TableCellView } from '../../base/cell-view';
import type { TableColumnMenuButtonCellRecord, TableColumnMenuButtonColumnConfig } from '..';
import type { MenuButton } from '../../../menu-button';
import type { MenuButtonToggleEventDetail } from '../../../menu-button/types';
declare global {
    interface HTMLElementTagNameMap {
        'nimble-table-column-menu-button-cell-view': TableColumnMenuButtonCellView;
    }
}
/**
 * The cell view base class for displaying a string field as a menu button.
 */
export declare class TableColumnMenuButtonCellView extends TableCellView<TableColumnMenuButtonCellRecord, TableColumnMenuButtonColumnConfig> {
    /** @internal */
    menuButton?: MenuButton;
    /** @internal */
    valueSpan?: HTMLSpanElement;
    /** @internal */
    hasOverflow: boolean;
    /** @internal */
    get showMenuButton(): boolean;
    get tabbableChildren(): HTMLElement[];
    /** @internal */
    onMenuButtonBeforeToggle(event: CustomEvent<MenuButtonToggleEventDetail>): boolean;
    /** @internal */
    onMenuButtonMouseOver(): void;
    /** @internal */
    onMenuButtonMouseOut(): void;
    /** @internal */
    onMenuButtonClick(e: Event): void;
}
export declare const tableColumnMenuButtonCellViewTag = "nimble-table-column-menu-button-cell-view";
