export interface CreateRootConfig { hasInputCompletion?: false; includesBaseElement?: boolean; isOpen?: boolean; options: GetOptions; optionToString?: (selectedValue: TValue) => string; value?: Option; } export type GetOptions = (args: GetOptionsArg) => Option[]; export interface GetOptionsArg { readonly inputValue: string; } export interface Option { key: string; value: TValue; } export type TRoot = ReturnType>; export type VisualFocus = 'listbox' | 'input'; export declare function createRoot(config: CreateRootConfig): { action(node: HTMLDivElement): { destroy(): void; }; readonly activeItem: Option | undefined; readonly activeItemIndex: number; readonly hasFiltering: boolean; readonly hasInputCompletion: false; readonly inputValue: string; readonly isOpen: boolean; readonly options: Option[]; readonly value: Option | undefined; readonly visualFocus: VisualFocus; ids: { input: string; listbox: string; }; clearActiveItem(): void; close: () => void; onSetActiveItem(fn: (arg: Option | undefined) => void): () => boolean; onSetIsOpen(fn: (arg: boolean) => void): () => boolean; onSetValue(fn: (arg: Option | undefined) => void): () => boolean; open(): void; setInputValue: (value: string) => void; setNextItemActive(): void; setPreviousItemActive(): void; setValue(v: Option | undefined): void; setOptions(g: GetOptions): void; valueToString: () => string; props: { 'data-st-combobox-root': string; onclickoutside(): void; }; };