/** * TODO: currently list and menu has too much in common, should be split into * menu, listbox and a LinearFocusController for tabs/toolbars */ import { LitElement } from 'lit'; import type { ListItem } from './list-item.js'; export interface ListboxSelectDetail { item: ListItem; index: number; } export type ListboxSelectEvent = CustomEvent; export interface ItemFocusDetail { item: ListItem; index: number; } export type ListItemFocusEvent = CustomEvent; declare const List_base: Constructor & typeof LitElement; /** * @csspart items * @fires {ListboxSelectEvent} select - Fires when an item is selected. * @fires {ListItemFocusEvent} item-focus - Fires when an item is focused */ export declare class List extends List_base { #private; noFocusControl: boolean; slotItems: Array; get $items(): ListItem[]; get currentIndex(): number; focusFirstItem(): void; focusLastItem(): void; focusItem(item: ListItem): void; render(): import("lit-html").TemplateResult<1>; private readonly listController; constructor(); handleKeyDown(event: KeyboardEvent): void; } export {};