import { default as CxButton } from '../../../button/button.ts';
import { default as CxDropdown } from '../../../dropdown/dropdown.ts';
import { default as CxMenu } from '../../../menu/menu.ts';
import { default as CxMenuItem } from '../../../menu-item/menu-item.ts';
import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
import { TableDropdownFilterData, TableDropdownFilterDataOption } from '../../../../../../types/src/table';
import { CSSResultGroup } from 'lit';

/**
 * @summary CxTableDropdownFilter
 */
export default class CxTableDropdownFilter extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-button': typeof CxButton;
        'cx-dropdown': typeof CxDropdown;
        'cx-menu': typeof CxMenu;
        'cx-menu-item': typeof CxMenuItem;
    };
    data: TableDropdownFilterData;
    activeOptionId: string;
    optionsMap: Record<string, TableDropdownFilterDataOption>;
    get activeOption(): TableDropdownFilterDataOption;
    createRenderRoot(): this;
    private createOptionsMap;
    private selectOptionWithId;
    handleDataChange(): void;
    private handleMenuSelect;
    private renderMenuItems;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-table-dropdown-filter': CxTableDropdownFilter;
    }
}
