import { GdsElement } from '../../gds-element'; import { ListboxKbNavigation } from '../../utils/controllers/listbox-kb-nav-controller'; import { GdsOption } from './option.component'; import type { OptionsContainer } from './option.component'; /** * @element gds-listbox * @internal * * A listbox is a widget that allows the user to select one or more items from a list of choices. * This primitive corresponds to the aria listbox role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role * * The listbox handles keyboard navigation and manages focus and selection of options. * * Can be used together with the `gds-option` primitive. * * @slot - The default slot. Only `gds-option` elements should be used here. */ export declare class GdsListbox extends GdsElement implements ListboxKbNavigation, OptionsContainer { #private; static styles: import("lit").CSSResult; /** * Controls whether the listbox allows multiple selection or not. */ multiple: boolean; /** * Delegate function for comparing option values. */ compareWith: (a: any, b: any) => boolean; constructor(); get navigableItems(): GdsOption[]; /** * Returns a list of all `gds-option` elements in the listbox. */ get options(): GdsOption[]; /** * Returns a list of all visible `gds-option` elements in the listbox. */ get visibleOptionElements(): GdsOption[]; /** * Returns a list of all visible `gds-option` elements in the listbox. */ get visibleSelectedOptionElements(): GdsOption[]; /** * Returns a list of all selected `gds-option` elements in the listbox. */ get selection(): GdsOption[]; set selection(values: any[]); connectedCallback(): void; /** * Focuses the first selected option in the listbox. * If no option is selected, the first visible option is focused. */ focus(): void; render(): any; /** * Re-renders all options in the listbox when the `multiple` property changes. */ private _rerenderOptions; }