import { Ref } from 'vue';
import { AnnotationLayer, type PDFPageProxy } from 'pdfjs-dist';
import { AnnotationType } from '@vue-pdf-viewer/shared';
import { AnnotationStamp } from '@/utils/types';
/**
 * useAnnotationStamp - Extract bitmap data from stamp annotations with ImageManager
 *
 * PDF.js Canvas Flow:
 * 1. pdf_page_view.draw() creates empty annotationCanvasMap
 * 2. During rendering, CanvasGraphics.beginAnnotation() creates canvases for hasOwnCanvas annotations
 * 3. annotationCanvasMap.set(id, canvas) stores canvas by annotation ID
 * 4. AnnotationLayer.#setAnnotationCanvasMap() inserts canvases into DOM
 * 5. We extract bitmaps using AnnotationImageManager for proper memory management
 */
interface UseAnnotationStampProps {
    page: Ref<PDFPageProxy>;
    annotationLayer: Ref<AnnotationLayer>;
}
export declare const useAnnotationStamp: (props: UseAnnotationStampProps) => {
    stampAnnotations: Ref<{
        hasOwnCanvas: boolean;
        originalAnnotation?: any;
        pageIndex?: number | undefined;
        elementRect?: {
            left: number;
            top: number;
            width: number;
            height: number;
        } | undefined;
        bitmapId?: string | undefined;
        bitmap?: {
            readonly colorSpace: PredefinedColorSpace;
            readonly data: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
                every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
                filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
                find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                    <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                    <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
                };
                reverse: () => Uint8ClampedArray;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
                some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
                subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Uint8ClampedArray;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Uint8ClampedArray";
            };
            readonly height: number;
            readonly width: number;
        } | undefined;
        width?: number | undefined;
        height?: number | undefined;
        isSvg?: boolean | undefined;
        id: string | null;
        annotationType: AnnotationType;
        rotation: number;
        rect: number[];
        parentRect?: number[] | undefined;
        fieldType?: string | undefined;
        annotationFlags?: import("@vue-pdf-viewer/shared").AnnotationFlag | undefined;
        borderStyle?: {
            dashArray: number[];
            horizontalCornerRadius: number;
            style: number;
            verticalCornerRadius: number;
            width: number;
            rawWidth: number;
        } | undefined;
        color?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
            every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
            find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
            };
            reverse: () => Uint8ClampedArray;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
            subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Uint8ClampedArray;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Uint8ClampedArray";
        } | null | undefined;
        creationDate?: string | Date | null | undefined;
        backgroundColor?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
            every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
            find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
            };
            reverse: () => Uint8ClampedArray;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
            subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Uint8ClampedArray;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Uint8ClampedArray";
        } | null | undefined;
        borderColor?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
            every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
            find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
            };
            reverse: () => Uint8ClampedArray;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
            subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Uint8ClampedArray;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Uint8ClampedArray";
        } | null | undefined;
        contentsObj?: {
            dir: string;
            str: string;
        } | undefined;
        hasAppearance?: boolean | undefined;
        modificationDate?: string | Date | null | undefined;
        quadPoints?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
            every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
            filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
            find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                <U_2>(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: Float32Array) => U_2, initialValue: U_2): U_2;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                <U_3>(callbackfn: (previousValue: U_3, currentValue: number, currentIndex: number, array: Float32Array) => U_3, initialValue: U_3): U_3;
            };
            reverse: () => Float32Array;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
            some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
            subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Float32Array;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Float32Array";
        } | undefined;
        subtype?: string | undefined;
        noRotate?: boolean | undefined;
        noHTML?: boolean | undefined;
        isEditable?: boolean | undefined;
        structParent?: number | undefined;
        titleObj?: {
            dir: string;
            str: string;
        } | undefined;
        opacity?: number | undefined;
        file?: {
            content: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Uint8Array;
                every: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8Array;
                filter: (predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array;
                find: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
                    <U_4>(callbackfn: (previousValue: U_4, currentValue: number, currentIndex: number, array: Uint8Array) => U_4, initialValue: U_4): U_4;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
                    <U_5>(callbackfn: (previousValue: U_5, currentValue: number, currentIndex: number, array: Uint8Array) => U_5, initialValue: U_5): U_5;
                };
                reverse: () => Uint8Array;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Uint8Array;
                some: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array;
                subarray: (begin?: number | undefined, end?: number | undefined) => Uint8Array;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Uint8Array;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Uint8Array";
            };
            filename: string;
        } | undefined;
        inReplyTo?: string | undefined;
        value?: string | undefined;
        dest?: [number | {
            gen: number;
            num: number;
        }, {
            name: string;
        }, ...any[]] | undefined;
        url?: string | undefined;
        unsafeUrl?: string | undefined;
        action?: import("@vue-pdf-viewer/shared").LinkAction | undefined;
        newWindow?: boolean | undefined;
        deleted?: boolean | undefined;
        noView?: boolean | undefined;
        noPrint?: boolean | undefined;
        fontSize?: number | undefined;
        contents?: string | undefined;
        imageDataUrl?: string | undefined;
        vertices?: number[] | undefined;
    }[], AnnotationStamp[] | {
        hasOwnCanvas: boolean;
        originalAnnotation?: any;
        pageIndex?: number | undefined;
        elementRect?: {
            left: number;
            top: number;
            width: number;
            height: number;
        } | undefined;
        bitmapId?: string | undefined;
        bitmap?: {
            readonly colorSpace: PredefinedColorSpace;
            readonly data: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
                every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
                filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
                find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                    <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                    <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
                };
                reverse: () => Uint8ClampedArray;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
                some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
                subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Uint8ClampedArray;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Uint8ClampedArray";
            };
            readonly height: number;
            readonly width: number;
        } | undefined;
        width?: number | undefined;
        height?: number | undefined;
        isSvg?: boolean | undefined;
        id: string | null;
        annotationType: AnnotationType;
        rotation: number;
        rect: number[];
        parentRect?: number[] | undefined;
        fieldType?: string | undefined;
        annotationFlags?: import("@vue-pdf-viewer/shared").AnnotationFlag | undefined;
        borderStyle?: {
            dashArray: number[];
            horizontalCornerRadius: number;
            style: number;
            verticalCornerRadius: number;
            width: number;
            rawWidth: number;
        } | undefined;
        color?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
            every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
            find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
            };
            reverse: () => Uint8ClampedArray;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
            subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Uint8ClampedArray;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Uint8ClampedArray";
        } | null | undefined;
        creationDate?: string | Date | null | undefined;
        backgroundColor?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
            every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
            find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
            };
            reverse: () => Uint8ClampedArray;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
            subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Uint8ClampedArray;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Uint8ClampedArray";
        } | null | undefined;
        borderColor?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Uint8ClampedArray;
            every: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            filter: (predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any) => Uint8ClampedArray;
            find: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any) => Uint8ClampedArray;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
                <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U_1, initialValue: U_1): U_1;
            };
            reverse: () => Uint8ClampedArray;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            some: (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8ClampedArray;
            subarray: (begin?: number | undefined, end?: number | undefined) => Uint8ClampedArray;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Uint8ClampedArray;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Uint8ClampedArray";
        } | null | undefined;
        contentsObj?: {
            dir: string;
            str: string;
        } | undefined;
        hasAppearance?: boolean | undefined;
        modificationDate?: string | Date | null | undefined;
        quadPoints?: {
            [x: number]: number;
            readonly BYTES_PER_ELEMENT: number;
            readonly buffer: {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                readonly [Symbol.toStringTag]: string;
            } | {
                readonly byteLength: number;
                slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                readonly [Symbol.species]: SharedArrayBuffer;
                readonly [Symbol.toStringTag]: "SharedArrayBuffer";
            };
            readonly byteLength: number;
            readonly byteOffset: number;
            copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
            every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
            fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
            filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
            find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
            findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
            forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
            indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            join: (separator?: string | undefined) => string;
            lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
            readonly length: number;
            map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                <U_2>(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: Float32Array) => U_2, initialValue: U_2): U_2;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                <U_3>(callbackfn: (previousValue: U_3, currentValue: number, currentIndex: number, array: Float32Array) => U_3, initialValue: U_3): U_3;
            };
            reverse: () => Float32Array;
            set: (array: ArrayLike<number>, offset?: number | undefined) => void;
            slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
            some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
            sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
            subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
            toLocaleString: () => string;
            toString: () => string;
            valueOf: () => Float32Array;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
            at: (index: number) => number | undefined;
            [Symbol.iterator]: () => IterableIterator<number>;
            readonly [Symbol.toStringTag]: "Float32Array";
        } | undefined;
        subtype?: string | undefined;
        noRotate?: boolean | undefined;
        noHTML?: boolean | undefined;
        isEditable?: boolean | undefined;
        structParent?: number | undefined;
        titleObj?: {
            dir: string;
            str: string;
        } | undefined;
        opacity?: number | undefined;
        file?: {
            content: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Uint8Array;
                every: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Uint8Array;
                filter: (predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array;
                find: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
                    <U_4>(callbackfn: (previousValue: U_4, currentValue: number, currentIndex: number, array: Uint8Array) => U_4, initialValue: U_4): U_4;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
                    <U_5>(callbackfn: (previousValue: U_5, currentValue: number, currentIndex: number, array: Uint8Array) => U_5, initialValue: U_5): U_5;
                };
                reverse: () => Uint8Array;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Uint8Array;
                some: (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array;
                subarray: (begin?: number | undefined, end?: number | undefined) => Uint8Array;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Uint8Array;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Uint8Array";
            };
            filename: string;
        } | undefined;
        inReplyTo?: string | undefined;
        value?: string | undefined;
        dest?: [number | {
            gen: number;
            num: number;
        }, {
            name: string;
        }, ...any[]] | undefined;
        url?: string | undefined;
        unsafeUrl?: string | undefined;
        action?: import("@vue-pdf-viewer/shared").LinkAction | undefined;
        newWindow?: boolean | undefined;
        deleted?: boolean | undefined;
        noView?: boolean | undefined;
        noPrint?: boolean | undefined;
        fontSize?: number | undefined;
        contents?: string | undefined;
        imageDataUrl?: string | undefined;
        vertices?: number[] | undefined;
    }[]>;
    stampElementClickOpens: import("vue").Reactive<Map<string, boolean>>;
    handleStampRemove: (annotation: AnnotationStamp) => void;
    handleStampUpdate: (annotation: AnnotationStamp) => void;
    handleStampAdd: (newAnnotation: AnnotationStamp) => void;
    refreshStampAnnotations: () => Promise<void>;
    annotationCanvasMap: import("vue").Reactive<Map<string, HTMLCanvasElement>>;
    annotationImageManager: import("@/utils/annotation-image").AnnotationImageManager;
};
export {};
