///
//@ts-ignore
import React, { Component } from 'react';
import { ChangedEventArgs, EventFan, ZoomSettings } from '@dt/core-viewer';
import { GcImageViewer } from '../../GcImageViewer';
export declare const _MAX_ZOOM = 10, _MIN_ZOOM = 0.1, _ZOOM_FACTOR_ITEMS: number[];
export declare type ZoomControlProps = {
onChange?: (zoom: ZoomSettings) => void;
getZoom(): ZoomSettings;
getActualZoomFactor(): number;
isZoomDisabled(): boolean;
isFullscreen(): boolean;
onViewerStateChange: EventFan;
viewer: GcImageViewer;
};
export declare type ZoomControlModel = {
openDropdown: boolean;
disabled?: boolean;
zoomInputValue?: string;
version?: number;
};
export declare function zoomViewIn(viewer: GcImageViewer): void;
export declare function zoomViewOut(viewer: GcImageViewer): void;
/**
* Editable zoom toolbar control.
* @ignore exclude from docs
**/
export declare class ZoomControl extends Component {
_mounted: boolean;
private _unregisterViewerStateChange?;
private _zoomInput;
private _dropdown;
private _minZoom;
private _maxZoom;
constructor(props: ZoomControlProps, context?: any);
componentDidMount(): void;
componentWillUnmount(): void;
private onDecButtonClick;
private onIncButtonClick;
private incZoomInternal;
private decZoomInternal;
private onZoomSelect;
get zoomValue(): number;
clearDirty(): void;
_inputFocused: boolean;
getValueFromState(useDefaultFromControl?: boolean): string;
onInputKeyDown(e: KeyboardEvent): boolean;
getUserFriendlyValue(zoom?: ZoomSettings): string;
render(): React.JSX.Element;
setZoomInputValue(zoomInputValue?: string): void;
get minZoom(): number;
get maxZoom(): number;
applyZoomInputValue(): void;
}