/**
 * Typeahead utilities for dropdown components
 * Provides functions to search and navigate through options by typing
 */
export interface TypeaheadOption {
    /** Display label for the option */
    label: string;
    /** Whether the option is disabled */
    disabled?: boolean;
}
export interface FindNextMatchingOptionParams<T extends TypeaheadOption> {
    /** Array of options to search through */
    options: T[];
    /** The character or string to search for */
    searchChar: string;
    /** Current highlighted index (to start searching from next item) */
    currentIndex: number;
    /** Previous search string (for multi-character matching) */
    previousSearch?: string;
}
/**
 * Finds the next matching option based on typeahead input
 * Supports cycling through multiple matches and multi-character search
 */
export declare function findNextMatchingOption<T extends TypeaheadOption>({ options, searchChar, currentIndex, previousSearch, }: FindNextMatchingOptionParams<T>): number;
/**
 * Checks if a character is valid for typeahead search
 * Excludes control keys and special navigation keys
 */
export declare function isValidTypeaheadChar(key: string): boolean;
/**
 * Debounce timeout for resetting typeahead search
 * After this timeout, the next character starts a new search
 */
export declare const TYPEAHEAD_TIMEOUT_MS = 1000;
