import { Origin, TextAnnotation, TextAnnotationStore } from '@recogito/text-annotator';
/**
 * The PDF plugin intercepts a few methods on the standard
 * TextAnnotationStore and applies PDF-specific target-reviving.
 */
export declare const createPDFStore: (store: TextAnnotationStore) => {
    onLazyRender: (page: number) => void;
    addAnnotation(annotation: TextAnnotation, origin: Origin): boolean;
    bulkAddAnnotation(annotations: TextAnnotation[], replace: boolean, origin: Origin): TextAnnotation[];
    getAnnotationBounds(id: string, hintX?: number, hintY?: number, buffer?: number): DOMRect;
    getAt(x: number, y: number): TextAnnotation;
    getIntersecting(minX: number, minY: number, maxX: number, maxY: number): TextAnnotation[];
    getIntersectingRects(minX: number, minY: number, maxX: number, maxY: number): import("@recogito/text-annotator").AnnotationRects[];
    recalculatePositions(): void;
    addBody: (body: import("@annotorious/core").AnnotationBody, origin?: Origin) => void;
    all: () => TextAnnotation[];
    bulkDeleteAnnotation: (annotationsOrIds: (string | TextAnnotation)[], origin?: Origin) => void;
    bulkUpdateAnnotation: (annotations: TextAnnotation[], origin?: Origin) => void;
    bulkUpdateBodies: (bodies: import("@annotorious/core").AnnotationBody[], origin?: Origin) => void;
    bulkUpdateTargets: (targets: import("@annotorious/core").AnnotationTarget[], origin?: Origin) => void;
    clear: (origin?: Origin) => void;
    deleteAnnotation: (annotationOrId: string | TextAnnotation, origin?: Origin) => void;
    deleteBody: (body: {
        id: string;
        annotation: string;
    }, origin?: Origin) => void;
    getAnnotation: (id: string) => TextAnnotation;
    getBody: (id: string) => import("@annotorious/core").AnnotationBody;
    observe: (onChange: (event: import("@annotorious/core").StoreChangeEvent<TextAnnotation>) => void, options?: import("@annotorious/core").StoreObserveOptions) => number;
    unobserve: (onChange: (event: import("@annotorious/core").StoreChangeEvent<TextAnnotation>) => void) => void;
    updateAnnotation: (arg1: string | TextAnnotation, arg2?: TextAnnotation | Origin, arg3?: Origin) => void;
    updateBody: (oldBodyId: {
        id: string;
        annotation: string;
    }, newBody: import("@annotorious/core").AnnotationBody, origin?: Origin) => void;
    updateTarget: (target: import("@annotorious/core").AnnotationTarget, origin?: Origin) => void;
};
