type SearchInputRole = 'combobox'; export interface SearchInputProps { value?: string; defaultValue?: string; onChange?: (debouncedValue: string) => void; onInput?: (rawValue: string) => void; debounceMs?: number; isLoading?: boolean; variant?: 'inline' | 'expandable'; size?: 'sm' | 'md' | 'lg'; globalShortcut?: string; placeholder?: string; disabled?: boolean; className?: string; name?: string; id?: string; form?: string; autoComplete?: string; autoFocus?: boolean; 'aria-label'?: string; role?: SearchInputRole; 'aria-expanded'?: boolean; 'aria-controls'?: string; 'aria-activedescendant'?: string; } /** * Imperative handle for agent-readiness + programmatic control. * * The forwarded ref intersects the underlying `HTMLInputElement` so * existing consumers (`ref.current.focus()` etc.) keep working — we * mutate the live input element to add the curated methods rather than * returning a new object from `useImperativeHandle`. */ export interface SearchInputHandle { getQuery: () => string; setQuery: (query: string) => void; clear: () => void; submit: () => void; /** * Expand-aware focus. Named `agentFocus` rather than `focus` because * the handle is grafted onto the underlying `HTMLInputElement` and the * native `focus` slot is non-writable. */ agentFocus: () => void; } /** * Backwards-compatible alias retained for one release cycle — the * forwarded ref's value is structurally an `HTMLInputElement` with the * `SearchInputHandle` methods grafted on. Consumers can read it as * either type via a cast. */ export type SearchInputRefValue = HTMLInputElement & SearchInputHandle; export declare const SearchInput: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=search-input.d.ts.map