import { ElementRef, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { Observable } from 'rxjs';
import { Store } from '@ngrx/store';
import { AnnotationSet } from '../annotation-set/annotation-set.model';
import { Annotation } from '../annotation-set/annotation-view/annotation.model';
import { Comment } from './comment/comment.model';
import { CommentComponent } from './comment/comment.component';
import { CommentService } from './comment/comment.service';
import { CommentSetRenderService } from './comment-set-render.service';
import * as fromStore from '../../store/reducers/reducers';
import { TagsModel } from '../models/tags.model';
import { SelectionAnnotation } from '../models/event-select.model';
import { ToolbarEventService } from '../../toolbar/toolbar-event.service';
import * as i0 from "@angular/core";
export declare class CommentSetComponent implements OnInit, OnDestroy, OnChanges {
    private store;
    private readonly commentService;
    private readonly renderService;
    private readonly toolbarEvents;
    annotationSet: AnnotationSet;
    zoom: number;
    rotate: number;
    height: number;
    pageHeights: any[];
    contentScrollTop: number;
    comments: Comment[];
    tags: TagsModel[];
    private subscriptions;
    comments$: Observable<Annotation[]>;
    annoEntities$: Observable<{
        [id: string]: Annotation;
    }>;
    container: ElementRef<HTMLDivElement>;
    panel: ElementRef<HTMLDivElement>;
    commentComponents: QueryList<CommentComponent>;
    showCommentsPanel: boolean;
    constructor(store: Store<fromStore.AnnotationSetState>, commentService: CommentService, renderService: CommentSetRenderService, toolbarEvents: ToolbarEventService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onSelect(annotationId: SelectionAnnotation): void;
    onCommentDelete(comment: Comment): void;
    redrawComments(): void;
    private rotateDocument;
    onCommentUpdate(payload: {
        comment: Comment;
        tags: TagsModel[];
    }): void;
    onAnnotationUpdate(annotation: Annotation): void;
    onContainerClick(e: any): void;
    clearSelection(): void;
    allCommentsSaved(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CommentSetComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CommentSetComponent, "mv-comment-set", never, { "annotationSet": { "alias": "annotationSet"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "height": { "alias": "height"; "required": false; }; "pageHeights": { "alias": "pageHeights"; "required": false; }; "contentScrollTop": { "alias": "contentScrollTop"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=comment-set.component.d.ts.map