import { NestedSelectOptions, NestedSelectState } from './nested-select.types'; /** * Headless nested (hierarchical) multiselect. Parents toggle all their children * and reflect a tri-state (`checked` / `partial` / `unchecked`); leaf options * toggle individually. Supports search filtering, full keyboard navigation and * ARIA wiring. State is reflected via `data-selected` / `data-state` and * `aria-selected` / `aria-checked`; positioning via floating-ui. * * Markup: * ```html *
* *
* * *
*
* ``` */ export declare class NestedSelect { private readonly root; private readonly trigger; private readonly panel; private readonly valueEl; private readonly searchInput; private readonly list; private readonly filterEnabled; private readonly placeholder; private readonly placement; private readonly offset; private readonly groups; private readonly options; private readonly selected; private open; private activeIndex; private stopAutoUpdate; private cleanups; constructor(root: HTMLElement, options?: NestedSelectOptions); private valueOf; private init; private get visibleOptions(); private onListClick; private onSearch; private onKeydown; private updateActive; private filter; private toggleOption; private toggleGroup; private groupState; private render; private renderValue; private emitChange; private onOutside; toggle(): void; openPanel(): void; close(): void; /** Replace the current selection. */ setValue(values: string[]): void; clear(): void; private position; get values(): string[]; get isOpen(): boolean; getState(): NestedSelectState; on(event: string, handler: (event: E) => void): () => void; destroy(): void; }