export type SlashKeyEvent = { key: string; metaKey: boolean; ctrlKey: boolean; altKey: boolean; shiftKey: false | boolean; anySearchDialogOpen: boolean; targetIsEditable: boolean; }; export type EditableTarget = { tagName: string; isContentEditable: boolean; }; export declare function isEditableSearchTarget(el: EditableTarget): boolean; /** `/` opens search. Ignore when a search dialog is already open or the user is typing. */ export declare function shouldHandleGlobalSlash(event: SlashKeyEvent): boolean; /** First Escape closes the dialog — do not let Pagefind only clear the query. */ export declare function shouldCloseSearchOnEscape(key: string): boolean; export declare function shouldCloseOnOutsideClick(opts: { targetIsLink: boolean; targetInDocument: boolean; targetInDialogFrame: boolean; }): boolean; export type SearchOpenRoot = { querySelector(selector: string): { click(): void; } | null; }; /** Mobile drawer trigger opens the header dialog — never a second Pagefind UI. */ export declare function openPrimaryDocsSearch(root: SearchOpenRoot): boolean;