import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { tccFilterbar } from '../../../core/components/tcc-filterbar/tcc-filterbar.component';
export interface crosshair {
    Page: number;
    Left: number;
    Top: number;
}
export interface zone {
    Page: number;
    Height: number;
    Width: number;
    Top: number;
    Left: number;
    Color?: string;
    enlarge?: boolean;
    redraw?: boolean;
    highlight?: boolean;
}
export interface viewersettings {
    errorimgpath?: string;
    errorImgFunction?: () => string;
    zoominmax?: number;
    zoomoutmax?: number;
    webimagedpi: number;
    zoomStep?: number;
}
export interface lastusedfield {
    displayname: string;
    techname: string;
}
export declare enum baseZoomMode {
    optimal = 0,
    width = 1,
    height = 2
}
export declare enum rotationDirection {
    left = 0,
    right = 1
}
export declare class TccViewerComponent implements OnInit, AfterViewInit, OnDestroy {
    viewer: ElementRef;
    canvas: ElementRef;
    image: ElementRef;
    viewerExternal: ElementRef;
    canvasExternal: ElementRef;
    imageExternal: ElementRef;
    buttonTemplateRef: TemplateRef<any>;
    doSomething(): void;
    doSomething2(): void;
    handleKeyDownEvent(event: KeyboardEvent): void;
    handleKeyUpEvent(event: KeyboardEvent): void;
    set settings(settings: viewersettings);
    onSCOEmitEvent: EventEmitter<any>;
    set passiveZones(zones: Array<zone>);
    UploadFileEvent: EventEmitter<FileList>;
    showUploadComponent: boolean;
    hideImageViewerButtons: boolean;
    showPdfViewerButtons: boolean;
    imageLoaded: boolean;
    viewerFileType: "image" | "pdf";
    set activeZone(zone: zone);
    set tempActiveZone(zone: zone);
    set crosshair(crosshair: crosshair);
    set SCOXML(xml: string);
    get marked(): boolean;
    get showSCOenabled(): boolean;
    get externalViewerActive(): boolean;
    changeViewerFile(path: string, fileType?: "image" | "pdf", aBlobIndex?: number): void;
    get isPdfViewerActive(): boolean;
    private set externalViewerActive(value);
    private get scofunctionsactive();
    lastUsedField: lastusedfield;
    overrideLastUsedField: boolean;
    baseZoomMode: baseZoomMode;
    zoomLock: boolean;
    zoomLevel: number;
    zoomToActiveZone: boolean;
    private _errorImagePath;
    private _errorImageFunction;
    _path: string;
    private docPage;
    _externalViewerActive: boolean;
    private placeholderloaded;
    private ZOOM_IN_MAX;
    private ZOOM_OUT_MAX;
    webImageDPI: number;
    private zoomStep;
    _inverted: boolean;
    _marked: boolean;
    private _passiveZones;
    private _activeZone;
    private _crosshair;
    _showSCOEnabled: boolean;
    private _SCOZones;
    private docRotation;
    private zoomCounter;
    private currentZoom;
    private zoomInFactor;
    private zoomInMax;
    private zoomOutMax;
    private zoomInMaxExternal;
    private zoomOutMaxExternal;
    isErrorImg: boolean;
    uploadConfig: tccFilterbar.noContentSettings;
    private lastMouseDown;
    private lastMouseUp;
    private delay;
    private timer;
    private down;
    private rclickcounter;
    private xCoordDrag;
    private yCoordDrag;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onImageLoad(): void;
    initViewer(): void;
    onViewerResize(): void;
    private setMinMaxZoom;
    private setDocRotation;
    private setRotationClasses;
    rotateViewer(direct: rotationDirection): void;
    resetRotation(): void;
    invertViewerImg(normal?: boolean): void;
    setZoomlock(active?: boolean): void;
    baseZoom(CounterOmmit?: boolean): number;
    optimizeHeight(getCounter?: boolean): number;
    optimizeWidth(getCounter?: boolean): number;
    private zoom;
    private scroll;
    private getScroll;
    onMouseMove(e: any): boolean;
    MouseMoveHandler(e: any, drag: boolean): boolean;
    OnMouseDown(e: any): void;
    OnMouseUp(e: any): void;
    onMouseDown(event: any): void;
    onMouseUp(e: any): void;
    onMouseLeave(e: any): void;
    onContextMenu(e: any): boolean;
    onDblClick(e: any): void;
    OnKeyUpEvent(e: any): void;
    toggleMarks(enabled?: boolean): void;
    onCanvasRedraw(): void;
    markZones(zones: Array<zone>, highlight?: boolean, enlarge?: boolean, redraw?: boolean): void;
    private clearAllMarks;
    private calcPixels;
    private drawCrosshair;
    resetViewer(zoomOut: boolean): void;
    loadPlaceholder(): void;
    private setZoomState;
    changeViewerImg(path: string, aBlobIndex: number, isErrorImg?: boolean): boolean;
    private setCurrentZoom;
    zoomIn(): number;
    zoomOut(): number;
    zoomToMark(zone: zone): boolean;
    private setTempActiveZone;
    baseZoomToMode(CounterOmmit?: boolean): number;
    private onDoubleRightClick;
    private doubleClickZoom;
    ZoomNumber(KeyCode: number): boolean;
    private getCenterCoords;
    onScroll(event: any): void;
    private keydown;
    private zoomcoords;
    private zoneIsZero;
    setSCOEnabled(enabled?: boolean): void;
    toggleExternalViewer(enabled?: boolean): void;
    externalViewerloaded(): void;
    externalViewerClose(): void;
    private getCanvasContext;
    private getCurrViewer;
    private getCurrImage;
    private getCurrCanvas;
    private getCurrNaturalHeight;
    private getCurrNaturalWidth;
    private getCurrRenderedHeight;
    private getCurrRenderedWidth;
    private positionPdfCanvas;
    private writeZoneValues;
    private getSCOZonesForCurrentPage;
    private getCoordinatesForSCO;
    private mouseInZone;
    private clickInZone;
    private areaInZone;
    private buildSelectedZone;
    private setSCOXML;
    private showSCO;
    private createSCOPopup;
    private createPopupTile;
    FileUploadEvent(event: FileList): void;
}
