export interface ActiveHighlight { targetId: string; query: string; highlight: boolean; } /** * Scrolls to and highlights a search result's target element once it exists * in the DOM, retrying since the target may not be rendered yet (e.g. the tab * holding it just changed). Shared behind both AsyncAPI/Layout.tsx and * OpenAPI/Layout.tsx, which otherwise duplicated this effect verbatim. * * `deps` should list every piece of state that changes which DOM subtree is * currently rendered (active tab, selected item keys, focus targets, ...) — * anything that could change whether `activeHighlight.targetId` already * exists in the DOM. Its length must stay constant across renders for a given * call site, same as any other hook dependency list. */ export declare function useSearchResultFocus(activeHighlight: ActiveHighlight | null, deps: readonly unknown[]): void;