import type EventManager from '../../../eventManager'; export interface InputControllerOptions { input: HTMLInputElement; eventManager: InstanceType; } /** * Controller for managing the input. * * @private * @class InputController */ export declare class InputController { #private; /** * The search input element managed by this controller. */ input: HTMLInputElement; /** * The event manager used to register and remove DOM event listeners. */ eventManager: InstanceType; /** * Whether the search input is currently active and listening for input events. */ enabled: boolean; /** * Internal storage map for local hook callbacks registered on this controller. */ _localHooks: Record; /** * Registers a local hook callback for the given key on this controller. */ addLocalHook: (key: string, callback: Function) => this; /** * Removes a local hook callback for the given key on this controller. */ removeLocalHook: (key: string, callback: Function) => this; /** * Runs all local hook callbacks registered under the given key. */ runLocalHooks: (key: string, ...args: unknown[]) => void; /** * Removes all local hook callbacks registered on this controller. */ clearLocalHooks: () => this; /** * Bound handler for the native input event, used to trigger filtering. */ private onInput; /** * Wires the given input element and event manager, and enables the controller immediately. */ constructor({ input, eventManager }: InputControllerOptions); /** * Returns the underlying `` element managed by this controller. */ getInputElement(): HTMLInputElement; /** * Writes the given string into the input element's value property without firing a DOM input event. */ setValue(value: string): void; /** * Enables or disables the input controller: passes `true` to start listening for input events, * `false` to stop. */ toggle(enabled: boolean): void; /** * Registers the native `input` event listener on the managed element so that typing triggers `triggerFilter`. */ listen(): void; /** * Removes the previously registered `input` event listener from the managed element. */ unlisten(): void; /** * Handles the native input event and delegates to the internal filter trigger. */ private _onInput; }