///
//@ts-ignore
import React, { Component } from 'react';
import { PageToolsPlugin } from './PageToolsPlugin';
import { Bounds, IGcSelectionBox, SelectionBoundsChangedParams } from '../../ImageViewer/Models/SelectionBoxTypes';
///
//@ts-ignore
import { i18n } from 'i18next';
import { IViewerTransactionSupport } from '../../ImageViewer/Models/IViewerTransactionSupport';
/**
* Resize toolbar state model.
**/
export declare type ResizeToolbarState = {
hidden?: boolean;
width?: number | any;
height?: number | any;
keepAspectRatio?: boolean | any;
};
/**
* Resize toolbar properties.
**/
export declare type ResizeToolbarProps = {
pageToolsPlugin: PageToolsPlugin;
hidden?: boolean;
};
/**
* Resize toolbar
**/
export declare class ResizeToolbar extends Component implements IViewerTransactionSupport {
static instances: {
[id: string]: ResizeToolbar | null;
};
private _isMounted;
private _onKeyDownEventBusHandler?;
private _onKeyUpEventBusHandler?;
private _onZoomChangedEventBusHandler?;
constructor(props: ResizeToolbarProps, context: ResizeToolbarState);
/**
* Show toolbar.
**/
show(): void;
private _bindEvents;
private _unbindEvents;
_holdForAspectRatioActivated: boolean;
activateHoldForAspectRatio(): void;
deactivateHoldForAspectRatio(): void;
/**
* Hide toolbar
**/
hide(): void;
confirmChanges(): void;
cancelChanges(): void;
/**
* Undo viewer transaction step. Return true if undo operation is consumed.
**/
undoTransactionStep(): boolean | void;
/**
* Redo viewer transaction step. Return true if redo operation is consumed.
**/
redoTransactionStep(): boolean | void;
onSelectionBoundsChanged(selection: Bounds, params: SelectionBoundsChangedParams): void;
showSelectionBox(): void;
updateSelectionBox(): void;
hideSelectionBox(): void;
componentWillUnmount(): void;
componentDidMount(): void;
get in17n(): i18n;
get isMounted(): boolean;
get selectionBox(): IGcSelectionBox;
get viewer(): import("../..").IImageViewer;
/**
* The maximum canvas area size in pixels.
* @ignore exclude from docs.
**/
get maxImageSize(): {
width: number;
height: number;
};
/**
* Natural image width.
**/
get naturalWidth(): number;
/**
* Natural image height.
**/
get naturalHeight(): number;
/**
* Resize width.
**/
getWidth(): number;
setWidth(width1: number | string): void;
/**
* Resize height.
**/
getHeight(): number;
setHeight(height1: number | string): void;
/**
* Keep aspect ratio.
**/
get keepAspectRatio(): boolean;
set keepAspectRatio(keepAspectRatio: boolean);
/**
* Natural aspect ratio.
**/
get naturalRatio(): number;
private _changedRatio;
/**
* Changed aspect ratio.
**/
get changedRatio(): number;
rememberRatio(): void;
render(): React.JSX.Element | null;
isSizeCorrect(): boolean;
apply(): void;
}