import { EventType } from '@reticlehq/core'; interface MarkReport { note: string; anchor: string; label: string; index: number; source?: string; } export interface AnnotatorDeps { emit: (type: EventType, data: Record) => void; now: () => number; onMark?: (mark: MarkReport) => void; shouldBlock?: () => boolean; onCountChange?: (count: number) => void; } export interface AnnotatorChrome { markersBtn?: HTMLElement; clearBtn?: HTMLElement; countEl?: HTMLElement; } export declare class Annotator { #private; constructor(deps: AnnotatorDeps); get active(): boolean; get markCount(): number; mount(): void; setAccent(hex: string): void; attachFlagButton(btn: HTMLElement): void; attachChrome(chrome: AnnotatorChrome): void; destroy(): void; toggle(on?: boolean): void; clearAll(): void; syncAnchors(): void; } export declare function installAnnotator(deps: AnnotatorDeps): Annotator; export {};