import React from 'react';
import { Camera, Vector2 } from '@atlaskit/media-ui';
import { type WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
import { ZoomLevel } from '../../domain/zoomLevel';
export declare function zoomLevelAfterResize(newCamera: Camera, oldCamera: Camera, oldZoomLevel: ZoomLevel): ZoomLevel;
export interface Props extends WithAnalyticsEventsProps {
    src: string;
    alt: string;
    originalBinaryImageSrc?: string;
    orientation?: number;
    onClose?: () => void;
    onLoad?: () => void;
    onError?: () => void;
    onBlanketClicked?: () => void;
}
export type State = {
    zoomLevel: ZoomLevel;
    isHDActive: boolean;
    isHDAvailable: boolean;
    isHDActivating: boolean;
    camera?: Camera;
    isDragging: boolean;
    cursorPos: Vector2;
    hasBeenLoadedOnce: boolean;
};
export declare class InteractiveImgComponent extends React.Component<Props, State> {
    state: State;
    private wrapper?;
    private saveWrapperRef;
    componentDidMount(): void;
    componentWillUnmount(): void;
    onImageClicked: (e: React.MouseEvent) => void;
    private renderHDIndicator;
    render(): React.JSX.Element;
    private onImgLoad;
    private onResize;
    private onZoomChange;
    private startDragging;
    private stopDragging;
    private panImage;
}
export declare const InteractiveImg: React.ForwardRefExoticComponent<Omit<Props, keyof WithAnalyticsEventsProps> & React.RefAttributes<any>>;
