import { EventEmitter } from '../../../stencil-public-runtime';
import { ContextMenuEventItem, ContextMenuItem, HTMLDir, ContextMenuPosition } from './navigation-context-menu.types';
/**
 * @swedishName Rullgardinsmeny
 */
export declare class ContextMenu {
    private buttonRef;
    private itemRefs;
    visible: boolean;
    activeItemIdx: number;
    selectItemIdx: number;
    /**
     * (Frivillig) Om du vill att komponenten ska ha ett unikt ID, kan du skicka in detta här, annars genereras ett automatiskt
     @en Sets a unique Id. If not set, one will be created
     */
    afId: string;
    /**
     * Används till att välja ikon som visas, skriv i namnet på ikonen
     * @en Sets which icon that should be shown
     */
    afIcon?: string;
    /**
     * Sätter titeln på knappen
     * @en Sets the title of the button
     */
    afTitle: string;
    /**
     * Lista av typen ContextMenuItem som
     * @en Sets the title of the button
     */
    afMenuItems: string | ContextMenuItem[];
    /**
     * Sätter dir-attributet
     * @en Sets dir-attribute
     */
    afDir?: HTMLDir;
    /**
     * Sätter lang-attributet
     * @en Sets lang-attribute
     */
    afLang?: string;
    /**
     * Sätter aria-label på expanderbar knapp
     * @en Sets aria-label on expandable button
     */
    afAriaLabel?: string;
    /**
     * När menyalternativ är valt
     * @en When menu item is activated
     */
    afMenuPosition?: ContextMenuPosition;
    /**
     * Sätter ett förvalt värde. I React måste detta vara av typen string.
     * @en Sets a preselected value. In React this has to be of the type string.
     */
    afActiveItem: ContextMenuItem['id'];
    /**
     * När menyalternativ är valt
     * @en When menu item is activated
     */
    afChangeItem: EventEmitter<ContextMenuEventItem>;
    /**
     * När fokus flyttar mellan menyalternativ
     * @en When focus change between menu items
     */
    afFocusItem: EventEmitter<ContextMenuEventItem>;
    /**
     * När menyn öppnas / stängs
     * @en When the menu opens / closes
     */
    afToggleMenu: EventEmitter<boolean>;
    /**
     * När fokus går över till ett annat element
     * @en When focus moves on to another element
     */
    afBlur: EventEmitter;
    clickHandler(e: MouseEvent): void;
    focusoutHandler(e: FocusEvent): void;
    syncActiveItem(): void;
    syncItems(): void;
    componentWillLoad(): void;
    get digiIcon(): string;
    hideMenu(): void;
    showMenu(): void;
    isLink(): boolean;
    handleToggle(): Promise<void>;
    focusOnButton(): Promise<void>;
    handleChangeItem(item: ContextMenuItem, idx: number): void;
    handleRef(ref: HTMLElement, refId: string, payload: ContextMenuItem): void;
    isActive(idx: any): boolean;
    isSelected(idx: any): boolean;
    nextIdx(idx: number): number;
    activateItem(idx: number): void;
    focusItem(idx: number): void;
    focusCaptured(): boolean;
    handleKey(e: KeyboardEvent): void;
    handleLinkClick(e: Event, item: ContextMenuItem, idx: number): void;
    renderLink(item: any, idx: any): any;
    renderDiv(item: any, idx: any): any;
    render(): any;
}
