export type AnnotationBox = { left: number; right: number; top: number; bottom: number; }; export type AnnotationBadgeAnchor = { id: string; ordinal: number; left: number; top: number; incomplete: boolean; }; export declare const ANNOTATION_BADGE_GAP_PX = 32; export declare const ANNOTATION_BADGE_MIN_GAP_PX = 12; export declare const ANNOTATION_REVIEW_DIALOG_WIDTH_PX = 400; export declare const ANNOTATION_REVIEW_DIALOG_MAX_HEIGHT_PX: number; export declare const ANNOTATION_REVIEW_DIALOG_MIN_HEIGHT_PX = 160; export declare const ANNOTATION_REVIEW_DIALOG_FLOOR_HEIGHT_PX = 80; export declare const ANNOTATION_REVIEW_MARGIN_PX = 12; export declare const ANNOTATION_NOTE_PREVIEW_CHARS = 280; export declare const ANNOTATION_CARD_STACK_SCROLL_AT = 4; export declare function annotationBoxIntersects(a: AnnotationBox, b: AnnotationBox): boolean; export declare function annotationViewportBox(viewportWidth: number, viewportHeight: number, scroller?: AnnotationBox | null): AnnotationBox; export declare function annotationNoteNeedsDisclosure(note: string): boolean; export declare function annotationBadgePackGap(viewport: AnnotationBox, count: number, preferred?: number): number; export declare function layoutAnnotationBadges(anchors: readonly AnnotationBadgeAnchor[], viewport: AnnotationBox, preferredGap?: number): AnnotationBadgeAnchor[]; export declare function scrollAnnotationRowIntoList(list: HTMLElement | null | undefined, row: HTMLElement | null | undefined): void; export declare function clampAnnotationDialogPlacement(input: { triggerLeft: number; triggerTop: number; triggerBottom: number; contentHeight: number; viewportWidth: number; viewportHeight: number; panelWidth?: number; }): { left: number; top: number; maxHeight: number; above: boolean; };