import { PropsWithChildren, FC } from 'react';
import { PanMoveEvent, PanStartEvent, PanEndEvent, PanCancelEvent } from '../Gestures/Pan';
import { ZoomEvent } from '../Gestures/Zoom';

export interface ZoomPanEvent {
    scale: number;
    x: number;
    y: number;
    type: 'zoom' | 'pan';
    nativeEvent: any;
}
export interface ZoomPanProps extends PropsWithChildren {
    height: number;
    width: number;
    scale: number;
    x: number;
    y: number;
    pannable: boolean;
    zoomable: boolean;
    disabled?: boolean;
    maxZoom: number;
    minZoom: number;
    zoomStep: number;
    constrain: boolean;
    globalPanning: boolean;
    disableMouseWheel?: boolean;
    requireZoomModifier?: boolean;
    onZoomPan: (event: ZoomPanEvent) => void;
    onZoom: (event: ZoomEvent) => void;
    onZoomEnd: () => void;
    onPanStart: (event: PanStartEvent) => void;
    onPanMove: (event: PanMoveEvent) => void;
    onPanEnd: (event: PanEndEvent) => void;
    onPanCancel: (event: PanCancelEvent) => void;
}
export declare const ZoomPan: FC<Partial<ZoomPanProps>>;
