/** * Build a detached `` of `text` with every `query` match wrapped for * highlighting. * - Each case-insensitive occurrence of `query` becomes a `` element; * everything else stays plain text nodes. * - Matching mirrors the built-in filter exactly: `toLowerCase` on both * sides, no trimming, scanned left to right without overlap. * - If `query` is `''`, the span holds the plain text and no ``. * - `createMatchElFn` replaces the default `` builder. It receives the * matched text and must return a fully built element: the helper inserts * it as-is and does not put the text inside for you. * - If a custom `filterFn` drives your matching, the helper cannot know its * match ranges: it always marks plain substring occurrences. * - Intended for `createItemContentElFn` / `createItemContentEl`: they re-run * on every filter keystroke, so the marks stay in sync with the query. The * option's accessible name is unaffected (it comes from `itemToString`). * - Rare edge: if lower-casing changes the string's length (a Unicode * expansion, e.g. dotted capital I, U+0130), the span degrades to plain * unmarked text instead of marking wrong ranges. * @group Filtering */ export declare function createHighlightedTextEl(text: string, query: string, createMatchElFn?: (matchedText: string) => HTMLElement): HTMLElement; //# sourceMappingURL=query-highlight.d.ts.map