/// <reference path="../../vendor/react/react.d.ts" />
//@ts-ignore
import { Component } from 'react';
import { GcTiffPane } from './../ImagePanel/GcTiffPane';
import { GcIcoPane } from './../ImagePanel/GcIcoPane';
import { GcImgPane } from './../ImagePanel/GcImgPane';
import { ImageFormatCode, GcImageViewerRunEventsSink, OpenParameters } from '../Models/Types';
import { ViewerOptions } from '../ViewerOptions';
import { GcPaneBase } from '../ImagePanel/GcPaneBase';
import { GcImageViewer } from '../GcImageViewer';
import { GcPanSupport } from '../Utils/GcPanSupport';
import { ImageMimeType } from '../Utils/ImageFormatUtils';
export declare class ImagePaneView extends Component<any, any> {
    private _openParams;
    private _activePane?;
    private _options;
    private _imagePaneViewElement;
    _imageUrl: string;
    _imagePane: GcImgPane;
    _tiffPane: GcTiffPane;
    _icoPane: GcIcoPane;
    initialized: boolean;
    imageUrl: string;
    private _viewer;
    private _originalImageDataUrl;
    private _scaleFactor;
    private _panSupport?;
    private _initialFrameIndex?;
    private _naturalSize;
    private _imageFormat;
    private _watermark;
    constructor(props: any, state: any);
    render(): JSX.Element;
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(): void;
    get panSupport(): GcPanSupport | undefined;
    get options(): ViewerOptions;
    set options(opts: ViewerOptions);
    invalidate(): void;
    get pageScale(): number;
    set pageScale(zoomVal: number);
    get actualZoomFactor(): number;
    setPageScaleToCursor(zoomVal: number): void;
    private setScaleToWidthInternal;
    setScaleToWidth(): void;
    setScaleToWholeImage(): void;
    get adaptiveNaturalSize(): {
        width: number;
        height: number;
    };
    get initialFrameIndex(): number;
    get naturalSize(): {
        width: number;
        height: number;
    };
    get actualSize(): {
        width: number;
        height: number;
    };
    set actualSize(size: {
        width: number;
        height: number;
    });
    updateRightSidebarMargin(): void;
    centerActiveImageElement(): void;
    updateActualSize(): void;
    onScaleChanged(): void;
    onImageNaturalSizeChanged(size: {
        width: number;
        height: number;
    }): void;
    onWindowResize(): void;
    updateToSpecialZoomMode(): void;
    get imagePaneViewElement(): HTMLDivElement;
    get imagePaneViewContentElement(): HTMLElement;
    init(): void;
    get activePane(): GcPaneBase;
    get imageFormat(): ImageFormatCode;
    set imageFormat(imageFormat: ImageFormatCode);
    get viewer(): GcImageViewer;
    set viewer(viewer: GcImageViewer);
    createImagePane(imageFormat: ImageFormatCode, uri: string): GcPaneBase;
    generateFileName(ext: string): string;
    getOriginalImageDataUrl(): string;
    getImageDataUrl(): string;
    setImageDataUrl(dataUrl: any): Promise<void>;
    get fileName(): string;
    get fileNameExt(): string;
    downloadImage(fileName?: string, original?: boolean, convertToFormat?: ImageFormatCode | ImageMimeType): Promise<void>;
    dispose(): void;
    private openInternal;
    close(): Promise<void>;
    open(sink: GcImageViewerRunEventsSink, uri: string | Uint8Array, params?: OpenParameters): Promise<void>;
    get framesCount(): number;
    get frameIndex(): number;
    set frameIndex(ind: number);
    private _closeActivePane;
    private _ensureWatermark;
    showWatermark(watermark?: string): void;
}
