import type{LyraHighlightTone}from'../components/viewers/document-viewer/anchors.js'; /** Whether the CSS Custom Highlight API (`Highlight` + `CSS.highlights`) is available in `doc`. * Passing a document is owner-realm exact; omitting it retains the ambient convenience check used * by existing callers and returns `false` during SSR. */ export declare function supportsCustomHighlights(doc?:Document|null):boolean; /** A paint handle for one owner (typically `this` of an adopting viewer). */ export interface HighlightHandle{ /** Replaces this owner's painted ranges for one tone; a previous call for the same tone is * dropped first, so `setRanges(tone, [])` clears that tone for this owner. */ setRanges(tone:LyraHighlightTone,ranges:Range[]):void; /** Marks (or clears, with `null`) this owner's single active-state range. */ setActive(range:Range|null):void; /** Applies a one-shot emphasis flash to `range` for `durationMs` (default 1800, matching * `--lr-transition-ambient`'s default), then clears it automatically. `durationMs` is routed * through `finiteDuration()`: a non-finite value (`NaN`/`Infinity`, e.g. from an untyped * caller) falls back to the 1800ms default rather than firing immediately or never, and a * negative value clamps to 0 -- the clear still runs on a fresh async timer, never inline. */ flash(range:Range,durationMs?:number):void; /** Removes every range this owner painted, across every tone/active/flash state. */ release():void;} /** Acquires a paint handle for one owner. Transparently uses the CSS Custom Highlight API when * available, falling back to ``-wrapping otherwise. Painting callers do not need to branch; * a component may still query its exact owner document to decorate fallback marks with its own * public parts. */ export declare function acquireHighlightHandle(owner:object,doc?:Document|null):HighlightHandle;