import { CourierBaseElement } from '@trycourier/courier-ui-core';
import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager';
import { CourierInboxIconTheme } from '../types/courier-inbox-theme';
export type CourierInboxMenuOption = {
    id: string;
    text: string;
    icon: CourierInboxIconTheme;
    onClick: (option: CourierInboxMenuOption) => void;
};
export type CourierInboxOptionMenuType = 'feed' | 'action';
export declare class CourierInboxOptionMenu extends CourierBaseElement {
    static get id(): string;
    private _themeSubscription;
    private _selectedIndex;
    private _options;
    private _selectable;
    private _onMenuOpen?;
    private _isOpen;
    private _menuType;
    private _style?;
    private _shadowRoot?;
    private _container?;
    constructor(themeManager: CourierInboxThemeManager, selectable: boolean, options: CourierInboxMenuOption[], menuType: CourierInboxOptionMenuType, onMenuOpen?: () => void);
    onComponentMounted(): void;
    onComponentUnmounted(): void;
    private attachElements;
    private getStyles;
    setPosition(position: {
        right?: string;
        left?: string;
        top?: string;
    }): void;
    private refreshTheme;
    setOptions(options: CourierInboxMenuOption[]): void;
    private refreshMenuItems;
    toggleMenu(): void;
    private showMenu;
    private hideMenu;
    closeMenu(): void;
    private handleOutsideClick;
    selectionItemAtIndex(index: number): void;
}
