import { PopupDirective, PopupBaseActions, Popup, PopupProps } from '../directives'; import { ModelSignal, OutputEmitterRef, Signal } from '@angular/core'; import { ComboboxItem } from './combobox-item'; import { InputText } from './input-text'; import * as i0 from "@angular/core"; /** * @TailwindNG Combobox component state */ export interface ComboboxState extends PopupProps { /** * The combobox's input text. */ readonly input: Signal; /** * The combobox's dropdown. */ readonly dropdown: Signal; /** * The combobox's selection mode. Default is 'single'. */ readonly selectionMode: ComboboxSelectionMode; /** * The combobox's selected values. */ readonly selectedValues: ModelSignal>; /** * The combobox's active element. */ readonly activeElement?: HTMLElement; } export type ComboboxSelectionMode = 'single' | 'multi'; /** * @TailwindNG Combobox component actions */ export interface ComboboxActions extends PopupBaseActions { /** * Resets the combobox. */ reset(): void; /** * Sets the combobox's active item. * @param item The item to set as active. */ setActiveItem(item: ComboboxItem): void; } export interface Combobox extends ComboboxState, ComboboxActions { /** * Emits when the combobox is reset. */ readonly resetted: OutputEmitterRef; } /** * Checks if the component is a Combobox. * If so, you can safely access the Combobox members inside this block scope. */ export declare function isCombobox(component: unknown): component is Combobox; export declare abstract class ComboboxBase extends PopupDirective { activeElement?: HTMLElement; id: string; protected onKeyboardEvent(event: Event): void; protected onKeydown(event: KeyboardEvent): void; protected addEventListeners(): void; protected removeEventListeners(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }