export { annotate, applyAnnotateOps, pruneExpired, renderLayer }; type StoredAnnotation = { id: string; spec: any; expiresAt?: number; }; /** * Fold an annotate payload into the current annotation list. * * Pure, so the add/update/clear semantics are testable without a browser. * * @param current Annotations currently on screen. * @param payload The step's `annotate` value. * @param now Millisecond clock, injected so `duration` is testable. * @returns The new list, the ids that are newly added (only those animate in), * and any error that should fail the step. */ declare function applyAnnotateOps(current: StoredAnnotation[], payload: any, now: number): { next: StoredAnnotation[]; added: string[]; error?: string; }; /** Drop annotations whose `duration` has elapsed. */ declare function pruneExpired(entries: StoredAnnotation[], now: number): StoredAnnotation[]; /** * Resolve and mount the current annotation set into the page. * * Exported because navigation re-mounts the same set: a fresh document has no * layer, so the runner calls this again rather than duplicating the pipeline. */ declare function renderLayer({ config, driver, entries, annotationTheme, newIds, departing, }: { config: any; driver: any; entries: StoredAnnotation[]; annotationTheme?: any; newIds?: string[]; departing?: StoredAnnotation[]; }): Promise<{ errors: string[]; }>; declare function annotate({ config, step, driver, annotationTheme, }: { config: any; step: any; driver: any; annotationTheme?: any; }): Promise; //# sourceMappingURL=annotate.d.ts.map