import { default as React } from 'react'; /** A single row in the {@link QuickSearch} dropdown. */ export interface IQuickSearchResult { /** Identifier, unique within its category. */ id: string; /** Primary line. */ title: string; /** Secondary line, truncated to one line. Often a path or shortcut hint. */ description?: string; /** * Group heading this result appears under. Groups render in the order given * by the `categories` prop, or in first-seen order when that is omitted. */ category: string; /** Icon component rendered at 12px in the row's leading badge. */ icon?: React.ComponentType<{ size?: number; className?: string; }>; } export interface QuickSearchProps { /** * Results for the current query. `QuickSearch` does no filtering — it renders * exactly what you give it, so you control matching, ranking and async * loading. */ results: T[]; /** Called on every keystroke, debounced by `debounceMs`. */ onQueryChange?: (query: string) => void; /** Called when a row is clicked or chosen with Enter. */ onSelect: (result: T) => void; /** * Explicit category order. Categories absent from this list are dropped, so * it doubles as a whitelist. Defaults to first-seen order. */ categories?: string[]; /** Placeholder for the input. Defaults to `"Search…"`. */ placeholder?: string; /** Delay before `onQueryChange` fires, in ms. Defaults to `200`. */ debounceMs?: number; /** Extra classes merged onto the root element. */ className?: string; } /** * A compact search field with a grouped results dropdown, sized to sit inside a * {@link MenuBar}. * * Presentational and fully controlled — it owns the query text, the open state * and the keyboard highlight, and nothing else. Searching is entirely yours: * results are pushed in via `results`, so the same component backs a local * array, a registry lookup, or a remote index. * * Arrow keys move the highlight across groups, Enter selects, Escape closes. * * @example * ```tsx * open(hit.id)} * /> * ``` */ export declare const QuickSearch: ({ results, onQueryChange, onSelect, categories, placeholder, debounceMs, className, }: QuickSearchProps) => import("react/jsx-runtime").JSX.Element;