import { Subject } from 'rxjs';
import { Annotation, AnnotationSet, Comment } from './annotation-set.model';
import { Utils } from './utils';
import { EmLoggerService } from '../logging/em-logger.service';
export declare class PdfAdapter {
    private log;
    private utils;
    private window;
    annotationSet: AnnotationSet;
    annotations: Annotation[];
    private commentData;
    annotationSetId: string;
    private annotationChangeSubject;
    constructor(log: EmLoggerService, utils: Utils, window: any);
    getAnnotationChangeSubject(): Subject<{
        type: string;
        annotation: Annotation;
    }>;
    setStoreData(annotationSet: AnnotationSet): void;
    editComment(comment: Comment): void;
    updateComments(documentId: any, comment: any): void;
    _getAnnotations(documentId: any): Annotation[];
    _getComments(documentId: any): Comment[];
    clearSelection(): void;
    isDraftComment(comment: Comment): boolean;
    getStoreAdapter(): {
        getAnnotations: (documentId: any, pageNumber: any) => Promise<{}>;
        getComments: (documentId: any, annotationId: any) => Promise<{}>;
        getAnnotation: (documentId: any, annotationId: any) => Promise<{}>;
        addAnnotation: (documentId: any, pageNumber: any, annotation: any) => Promise<{}>;
        editAnnotation: (documentId: any, pageNumber: any, annotation: any) => Promise<{}>;
        deleteAnnotation: (documentId: any, annotationId: any) => Promise<{}>;
        addComment: (documentId: any, annotationId: any, content: any) => Promise<{}>;
        deleteComment: (documentId: any, commentId: any) => Promise<{}>;
    };
    findById(array: any, id: any): any;
    remove(array: any, id: any): any;
}
