import { default as CxButton } from '../../../button/button.ts';
import { default as CxDropdown } from '../../../dropdown/dropdown.ts';
import { default as CxIcon } from '../../../icon/icon.ts';
import { default as CxMenu } from '../../../menu/menu.ts';
import { default as CxMenuItem } from '../../../menu-item/menu-item.ts';
import { default as CxMenuSection } from '../../../menu-section/menu-section.ts';
import { RowComponent } from '../../table.ts';
import { default as CxTooltip } from '../../../tooltip/tooltip.ts';
import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
import { DropdownItem, ICellComponent, RowAction } from '../../../../../../types/src/table';
import { nothing } from 'lit';

export default class CxTableRowActionsDropdown extends CortexElement {
    static readonly dependencies: {
        'cx-button': typeof CxButton;
        'cx-dropdown': typeof CxDropdown;
        'cx-icon': typeof CxIcon;
        'cx-menu': typeof CxMenu;
        'cx-menu-item': typeof CxMenuItem;
        'cx-menu-section': typeof CxMenuSection;
        'cx-tooltip': typeof CxTooltip;
    };
    private readonly localize;
    action: RowAction;
    row: RowComponent;
    cell?: ICellComponent;
    groupedDropdownItems: Record<string, DropdownItem[]>;
    sections: string[];
    createRenderRoot(): this;
    handleActionChange(): void;
    private handleActionClick;
    private renderMenuItems;
    private renderMenuSection;
    render(): import('lit').TemplateResult<1> | typeof nothing;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-table-row-actions-dropdown': CxTableRowActionsDropdown;
    }
}
