import { LitElement, type PropertyValues } from 'lit'; import { type NuiType } from '../../types/nui-type.js'; import { type NuiListboxViewState } from './logic.js'; import type { ListboxOption, ListboxValue, NuiListboxEventMap } from './types.js'; export type { NuiListboxEventMap }; export declare class NuiListbox extends LitElement implements NuiListboxViewState { options: ListboxOption[]; optionLabel: string; optionValue: string; optionDisabled: string; value: ListboxValue; multiple: boolean; disabled: boolean; invalid: boolean; readonly: boolean; filter: boolean; filterPlaceholder: string; listScrollHeight: string; striped: boolean; checkmark: boolean; highlightOnSelect: boolean; emptyMessage: string; emptyFilterMessage: string; fluid: boolean; tabindex: number; ariaLabel: string; ariaLabelledby: string; unstyled: boolean; nuiType: NuiType; listboxClass: string; filterValue: string; focusedIndex: number; private controller; get visibleOptions(): ListboxOption[]; protected createRenderRoot(): DocumentFragment | HTMLElement; protected firstUpdated(): void; protected updated(changed: PropertyValues): void; disconnectedCallback(): void; private initController; private syncFocusedIndex; private handleFilterInput; private handleListFocus; private handleOptionClick; private selectOption; private updateValue; private valuesMatch; render(): import("lit-html").TemplateResult; } export interface NuiListbox { addEventListener( type: K, listener: (this: NuiListbox, ev: NuiListboxEventMap[K]) => void, options?: boolean | AddEventListenerOptions, ): void; addEventListener( type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions, ): void; removeEventListener( type: K, listener: (this: NuiListbox, ev: NuiListboxEventMap[K]) => void, options?: boolean | AddEventListenerOptions, ): void; removeEventListener( type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions, ): void; } declare global { interface HTMLElementTagNameMap { 'nui-listbox': NuiListbox; } } //# sourceMappingURL=nui-listbox.d.ts.map