import { AfterContentInit, AfterViewChecked, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { Observable } from 'rxjs';
import { ToolbarButtonVisibilityService } from './toolbar/toolbar-button-visibility.service';
import { AnnotationSet } from './annotations/annotation-set/annotation-set.model';
import { ToolbarEventService } from './toolbar/toolbar-event.service';
import { AnnotationApiService } from './annotations/services/annotation-api/annotation-api.service';
import { ResponseType, ViewerException } from './viewers/viewer-exception.model';
import { CommentService } from './annotations/comment-set/comment/comment.service';
import { Store } from '@ngrx/store';
import * as fromStore from './store/reducers/reducers';
import { IcpEventService } from './toolbar/icp-event.service';
import * as i0 from "@angular/core";
export declare class MediaViewerComponent implements OnChanges, OnDestroy, AfterContentInit, AfterViewChecked {
    private store;
    readonly toolbarButtons: ToolbarButtonVisibilityService;
    readonly toolbarEvents: ToolbarEventService;
    private readonly api;
    private readonly commentService;
    private elRef;
    private cdr;
    icpEventService: IcpEventService;
    viewerRef: ElementRef;
    url: any;
    downloadFileName: string;
    contentType: string;
    showToolbar: boolean;
    toolbarButtonOverrides: any;
    height: string;
    viewerHeight: string;
    width: string;
    mediaLoadStatus: EventEmitter<ResponseType>;
    viewerException: EventEmitter<ViewerException>;
    toolbarEventsOutput: EventEmitter<ToolbarEventService>;
    unsavedChanges: EventEmitter<boolean>;
    enableAnnotations: boolean;
    annotationApiUrl: any;
    enableRedactions: boolean;
    enableICP: boolean;
    multimediaPlayerEnabled: boolean;
    enableRedactSearch: boolean;
    caseId: string;
    multimediaContent: boolean;
    convertibleContent: boolean;
    unsupportedContent: boolean;
    documentTitle: string;
    showCommentSummary: boolean;
    annotationSet$: Observable<AnnotationSet | {}>;
    hasScrollBar: boolean;
    typeException: boolean;
    hasDifferentPageSize$: Observable<boolean>;
    documentId: string;
    private $subscriptions;
    private prevOffset;
    constructor(store: Store<fromStore.AnnotationSetState>, toolbarButtons: ToolbarButtonVisibilityService, toolbarEvents: ToolbarEventService, api: AnnotationApiService, commentService: CommentService, elRef: ElementRef, cdr: ChangeDetectorRef, icpEventService: IcpEventService);
    ngAfterContentInit(): void;
    ngAfterViewChecked(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    needsConverting(): boolean;
    isMultimedia(): boolean;
    isSupported(): boolean;
    onMediaLoad(status: ResponseType): void;
    setToolbarButtons(): void;
    onLoadException(exception: ViewerException): void;
    onCommentChange(changes: boolean): void;
    onDocumentTitleChange(title: string): void;
    private extractDMStoreDocId;
    detectOs(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MediaViewerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MediaViewerComponent, "mv-media-viewer", never, { "url": { "alias": "url"; "required": false; }; "downloadFileName": { "alias": "downloadFileName"; "required": false; }; "contentType": { "alias": "contentType"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "toolbarButtonOverrides": { "alias": "toolbarButtonOverrides"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "enableAnnotations": { "alias": "enableAnnotations"; "required": false; }; "annotationApiUrl": { "alias": "annotationApiUrl"; "required": false; }; "enableRedactions": { "alias": "enableRedactions"; "required": false; }; "enableICP": { "alias": "enableICP"; "required": false; }; "multimediaPlayerEnabled": { "alias": "multimediaPlayerEnabled"; "required": false; }; "enableRedactSearch": { "alias": "enableRedactSearch"; "required": false; }; "caseId": { "alias": "caseId"; "required": false; }; }, { "mediaLoadStatus": "mediaLoadStatus"; "viewerException": "viewerException"; "toolbarEventsOutput": "toolbarEventsOutput"; "unsavedChanges": "unsavedChanges"; }, never, never, false, never>;
}
//# sourceMappingURL=media-viewer.component.d.ts.map