import { LitElement } from 'lit'; import type { MenuItem } from './menu-item.js'; export interface MenuEventDetail { item: MenuItem; index: number; } export type MenuActionEvent = CustomEvent; export type MenuItemFocusEvent = CustomEvent; declare const Menu_base: Constructor & typeof LitElement; /** * @csspart items * @slot - menu items * @fires {MenuActionEvent} action - Fires when an item is activated. * @fires {MenuItemFocusEvent} item-focus - Fires when an item is focused. * @fires {Event} request-popup-hide - Fires when menu should be hidden. */ export declare class Menu extends Menu_base { #private; /** * When true, emits `request-popup-hide` on `action` */ keepOpenAction: boolean; /** * When true, removes the default focus management and `aria-activedescendant` * on the host. */ bare: boolean; slotItems: Array; get $items(): MenuItem[]; get currentIndex(): number; focusFirstItem(): void; focusLastItem(): void; focusItem(item: MenuItem): void; render(): import("lit-html").TemplateResult<1>; constructor(); private readonly listController; handleKeyDown(event: KeyboardEvent): void; } export declare enum MenuAction { Close = -11, CloseSelect = -10, First = 1, Last = 2, Next = 3, Open = 4, PageDown = 5, PageUp = 6, Previous = 7, Select = 8, Type = 9 } export declare function getActionFromKey(event: KeyboardEvent): MenuAction | null; export declare function getVisibleItems(container: HTMLElement, items: HTMLElement[]): { first: number; last: number; pageSize: number; }; export {};