import type { TimelineAnnotationSource } from "@opengeni/sdk"; import { type OpenGeniText } from "../messages/runtime.js"; export { annotationDisplayOrdinal, annotationHasNote, matchingQuoteInSource, occurrenceOffsets, truncateAnnotationQuote, } from "../timeline/annotation-model.js"; export declare const ANNOTATION_CHROME_SELECTOR = "[data-og-annotation-chrome], [data-og-annotation-badge], [data-og-annotation-popover]"; export declare function sourceKindLabel(t: OpenGeniText, kind: TimelineAnnotationSource["kind"]): string; export declare function annotationSourceLabel(t: OpenGeniText, source: TimelineAnnotationSource): string; export declare function cssEscapeAttribute(value: string): string; export declare function isAnnotationChromeNode(node: Node | null): boolean; type AnnotatableSpan = { node: Text; start: number; length: number; }; export declare function annotatableText(root: HTMLElement): { text: string; spans: AnnotatableSpan[]; }; export declare function rangeFromOffsets(spans: AnnotatableSpan[], startOffset: number, endOffset: number): Range | null; export declare function buildQuoteRange(sourceEl: HTMLElement, quote: string, occurrenceIndex?: number): Range | null; export declare function quoteOccurrenceIndex(sourceEl: HTMLElement, range: Range, quote: string): number; export declare function clipRangeToSource(range: Range, sourceEl: HTMLElement): Range | null; export declare function visibleClientRect(range: Range): DOMRect | null; export declare function resolveAnnotationRevealRoot(from: Element | null | undefined): HTMLElement | null; export declare function revealLoadedAnnotationSource(source: TimelineAnnotationSource, root?: ParentNode | null): boolean;