import { LitElement } from 'lit'; import type { ListItem } from './list-item.js'; declare const Base: Constructor & typeof LitElement; interface ListSelectDetail { item: ListItem; index: number; } export type ListSelectEvent = CustomEvent; interface ItemFocusDetail { item: ListItem; } export type ListItemFocusEvent = CustomEvent; /** * @csspart items * * @fires {Event} open - Fires when the menu is opened. * @fires {Event} close - Fires when the menu is closed. * @fires {ListSelectEvent} select - Fires when an item is selected. * @fires {ListItemFocusEvent} item-focus - Fires when an item is focused */ export declare class List extends Base { #private; readonly _scrollPadding: number; noFocusControl: boolean; slotItems: Array; get $items(): ListItem[]; render(): import("lit-html").TemplateResult<1>; renderItemSlot(): import("lit-html").TemplateResult<1>; private readonly listController; constructor(); protected updated(changed: Map): void; get currentIndex(): number; focusFirstItem(): void; focusLastItem(): void; focusItem(item: ListItem): void; } export declare const MenuActions: { Close: number; CloseSelect: number; First: number; Last: number; Next: number; Open: number; PageDown: number; PageUp: number; Previous: number; Select: number; Type: number; }; export declare function filterOptions(options: string[], filter: string, exclude?: string[]): string[]; export declare function getActionFromKey(event: KeyboardEvent): number; export declare function getUpdatedIndex(currentIndex: number, maxIndex: number, action: number): number; export declare function scrollItemIntoView(list: HTMLElement, item: HTMLElement, paddingY?: number): void; export {};