import { InstantSearchConfig, SearchSectionKey } from './settings'; export declare const INSTANT_SEARCH_COMPONENT_FILE = "teleport-instant-search"; export declare const INSTANT_SEARCH_COMPONENT_NAME = "TeleportInstantSearch"; /** * `components/teleport-instant-search.js`, rendered once from `_app`: the * runtime behind the project's own Search component (a modal the search * control opens through a workflow). Nothing is drawn here. The component's * field sends `tq-search-query` with the words as the visitor types. This * waits `debounceMs` (300 by default) after the last change, then asks the * search route for EVERY section at once — each section with its own loading * state. Fewer than `minCharacters` never waits and never asks. It answers * `tq-search-results:
` per section * (`{ query, loading: 'idle' | 'true' | 'false' | 'error', items }`) and `tq-search-state` * (`{ query, status: 'idle' | 'short' | 'searching' | 'done' }`), which the * component's workflows take into its states. The field's clear button sends * `tq-search-clear`: the field empties, a search * still waiting is dropped, the cursor stays and the search starts over. * The keyboard shortcuts open the modal (`tq-search-open`); Escape and * a navigation close it (`tq-search-close`). * Whoever opens it — the control's workflow, a shortcut — the field is focused * once the modal is drawn. * * Authored as source text; the settings the client needs are baked in as one * literal. */ export declare const buildInstantSearchComponentSource: (config: InstantSearchConfig, sections: SearchSectionKey[]) => string; //# sourceMappingURL=component-source.d.ts.map