/// <reference path="../../vendor/react/react.d.ts" />
//@ts-ignore
import { Component } from 'react';
import { PageToolsPlugin } from './PageToolsPlugin';
/// <reference path="../../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from 'i18next';
import { IGcSelectionBox } from '../../ImageViewer/Models/SelectionBoxTypes';
export declare type ResizeDialogState = {
    hidden?: boolean;
    width?: number | any;
    height?: number | any;
    keepAspectRatio?: boolean | any;
};
export declare type ResizeDialogProps = {
    pageToolsPlugin: PageToolsPlugin;
    in17n: i18n;
    hidden?: boolean;
};
export declare class ResizeDialog extends Component<ResizeDialogProps, ResizeDialogState> {
    static instances: {
        [id: string]: ResizeDialog | null;
    };
    private _isMounted;
    constructor(props: ResizeDialogProps, context: ResizeDialogState);
    static showDialog(pageToolsPlugin: PageToolsPlugin): void;
    show(): void;
    hide(): void;
    showSelectionBox(): void;
    hideSelectionBox(): void;
    componentWillUnmount(): void;
    componentDidMount(): void;
    get isMounted(): boolean;
    get selectionBox(): IGcSelectionBox;
    get viewer(): import("../../ImageViewer/Models").IImageViewer;
    get maxImageSize(): {
        width: number;
        height: number;
    };
    get naturalWidth(): number;
    get naturalHeight(): number;
    getWidth(): number;
    setWidth(width1: number | string): void;
    getHeight(): number;
    setHeight(height1: number | string): void;
    get keepAspectRatio(): boolean;
    set keepAspectRatio(keepAspectRatio: boolean);
    get naturalRatio(): number;
    render(): JSX.Element | null;
}
