import * as React from 'react';
import { ZoomOptions } from 'medium-zoom';
export declare type MediumZoomEventType = 'open' | 'opened' | 'close' | 'closed' | 'detach' | 'update';
export interface ZoomHandler {
    open: () => Promise<void>;
    close: () => Promise<void>;
    toggle: () => Promise<void>;
    on: (type: MediumZoomEventType, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void;
    off: (type: MediumZoomEventType, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void;
}
export declare function useMediumZoom(imgRef: React.MutableRefObject<HTMLImageElement | undefined>, options?: ZoomOptions): ZoomHandler;
export interface MediumZoomProps extends React.ImgHTMLAttributes<HTMLImageElement> {
    options?: ZoomOptions;
}
export declare const MediumZoom: React.ForwardRefExoticComponent<MediumZoomProps & React.RefAttributes<HTMLImageElement | undefined>>;
