import { ComputePositionReturn, Placement } from "@floating-ui/dom"; import { EventEmitter } from "../../stencil-public-runtime"; export type SwirlMenuVariant = "action" | "selection"; /** * @slot slot - The menu items (e.g. swirl-menu-item). */ export declare class SwirlMenu { el: HTMLElement; active?: boolean; label: string; level?: number; mobileBackButtonLabel?: string; mobileCloseMenuButtonLabel?: string; placement?: Placement; mobileDoneButtonLabel?: string; value?: string; variant?: SwirlMenuVariant; activeLevel: number; mobile: boolean; position: ComputePositionReturn; done: EventEmitter; valueChange: EventEmitter; private disableAutoUpdate; private items; private menuContainer; private mobileMediaQuery; private observer; private parentMenu; private rootMenu; private swirlPopover; componentWillLoad(): void; componentDidLoad(): void; disconnectedCallback(): void; watchActive(): void; watchValue(): void; /** * Activate a menu item with a sub menu. Only callable on a root menu. * @returns */ activateMenuItem(menuItem: HTMLSwirlMenuItemElement): Promise; /** * Close and reset the menu. Only callable on a root menu. * @returns */ close(): Promise; /** * Collapse the currently active sub menu. Only callable on a root menu. * @returns */ goBack(): Promise; /** * Focus the first menu item. * @returns */ focusFirstItem(): Promise; /** * Focus the menu item at index. * @returns */ focusItemAtIndex(index: number): Promise; /** * Update the selection of a menu with variant "selection". * @returns */ updateSelection(item: HTMLSwirlOptionListItemElement): Promise; /** * Update the displayed active item. * @returns */ updateActiveItem(): Promise; private observeSlotChanges; private mediaQueryHandler; private updateMobileState; private updateItems; private updateLevel; private focusItem; private focusNextItem; private focusPreviousItem; private getActiveItemIndex; private resetMenu; private closeMenu; private reposition; private onKeyDown; private onClose; private onDone; private onGoBack; render(): any; }