export declare enum AnnotationMode { DISABLE = 0, ENABLE = 1, ENABLE_FORMS = 2, ENABLE_STORAGE = 3 } export declare enum AnnotationEditorType { DISABLE = -1, NONE = 0, FREETEXT = 3, HIGHLIGHT = 9, STAMP = 13, INK = 15, POPUP = 16, SIGNATURE = 101, COMMENT = 102 } export declare const AnnotationEditorParamsType: { RESIZE: number; CREATE: number; FREETEXT_SIZE: number; FREETEXT_COLOR: number; FREETEXT_OPACITY: number; INK_COLOR: number; INK_THICKNESS: number; INK_OPACITY: number; HIGHLIGHT_COLOR: number; HIGHLIGHT_THICKNESS: number; HIGHLIGHT_FREE: number; HIGHLIGHT_SHOW_ALL: number; HIGHLIGHT_DEFAULT_COLOR: number; DRAW_STEP: number; }; export type AnnotationEditorTypeValue = -1 | 0 | 3 | 9 | 13 | 15 | 16; /** * #3237 The comment (a.k.a. popup) attached to an annotation. Every editor type can carry one: * `getSerializedAnnotations()` returns it, and `addEditorAnnotation()` restores it. */ export type AnnotationPopup = { /** the text of the comment */ contents: string; /** `true` if the user deleted the comment of an annotation that already was in the PDF file */ deleted?: boolean; /** the position of the popup, in PDF user space: [left, bottom, right, top] */ rect?: Array; /** the time the comment was written, as an ISO string; restored unchanged, so a round-trip keeps the original timestamp */ date?: string; }; /** * #3236 Where an annotation ends up: `rect` and `rotation`. * * `rect` is the box the annotation occupies, `[left, bottom, right, top]`, measured from the * bottom left corner of the page. Drawings are the exception - a drawing sits where its points * are, so its `rect` is ignored (which is why an empty one seems to work until you add an * annotation of any other type). * * **`rotation` does not turn the annotation by N degrees.** It says which way up the page was when * you measured the coordinates you are passing in - counting both the rotation stored in the * document and the rotation the user applied with the rotate buttons. Pass the wrong value and the * annotation lands in the wrong *place*, often off the page, rather than tilted. * * You don't have to think about any of this to save your users' annotations and load them back: * `getSerializedAnnotations()` and `addEditorAnnotation()` agree with each other, rotated pages * included. It matters when you calculate annotations yourself, and `rotation: 0` covers you as * long as your pages are upright and nobody rotates them. * * Scanned documents are where it bites, because many are stored sideways and turned upright by the * file itself - so the page you see is not the page your coordinates are measured on. If one * misbehaves, draw an annotation on it by hand, export it, and match what you see there. */ export type InkPaths = { lines: Array>; points: Array>; }; export type InkEditorAnnotation = { annotationType: 15; color: Array; thickness: number; opacity: number; paths: InkPaths; pageIndex: number; rect: Array; rotation: 0 | 90 | 180 | 270; isCopy?: boolean; id?: string; customId?: string; popup?: AnnotationPopup; }; export type FreeTextEditorAnnotation = { annotationType: 3; color: Array; fontSize: number; value: string; pageIndex: number; rect: Array; rotation: 0 | 90 | 180 | 270; isCopy?: boolean; id?: string; customId?: string; popup?: AnnotationPopup; }; export type StampEditorAnnotation = { annotationType: 13; pageIndex: number; bitmapUrl: string | Blob; rect: Array; rotation: 0 | 90 | 180 | 270; isCopy?: boolean; id?: string; customId?: string; popup?: AnnotationPopup; }; export type HighlightEditorAnnotation = { annotationType: 9; color: Array; opacity: number; thickness: number; boxes?: Array<{ x: number; y: number; width: number; height: number; }>; quadPoints?: any; outlines?: Array>; pageIndex: number; rect: Array; rotation: 0 | 90 | 180 | 270; isCopy?: boolean; id?: string; customId?: string; popup?: AnnotationPopup; }; export type PopupEditorAnnotation = { annotationType: 16; content: string; pageIndex: number; rect: Array; rotation: 0 | 90 | 180 | 270; isCopy?: boolean; id?: string; customId?: string; popup?: AnnotationPopup; }; export type EditorAnnotation = InkEditorAnnotation | FreeTextEditorAnnotation | StampEditorAnnotation | HighlightEditorAnnotation | PopupEditorAnnotation;