export interface IPannerOptions {
    changeCursorOnPan?: boolean;
    disabled?: boolean;
    refitOnResize?: boolean;
    onScaleChange?: (currentScale: number) => void;
    onPanEnd?: (panEvent: IPanEvent, instance: ZeroGInstance) => void;
    onPanMove?: (panEvent: IPanEvent, instance: ZeroGInstance) => void;
    onPanStart?: (panEvent: IPanEvent, instance: ZeroGInstance) => void;
}
export declare class ZeroGInstance {
    private element;
    private options;
    private controlledByDockingProcedure;
    private lastX;
    private lastY;
    private zoom;
    private mousedown;
    private hasLoadHandler;
    private windowResizeTimeout;
    private naturalHeight;
    private naturalWidth;
    private orientation;
    private parent;
    constructor(element: HTMLElement, options?: IPannerOptions, controlledByDockingProcedure?: boolean);
    private get currentScale();
    private bindHandlers;
    private unbindHandlers;
    private computeNaturalDimensions;
    private init;
    private fitLandscape;
    private fitPortrait;
    private adjustIfOverflown;
    private swapMouseCursor;
    private doPan;
    private preventDrag;
    private handleMouseDown;
    private handleMouseUp;
    private handleMouseMove;
    private handleWindowResize;
    private handleInitialLoad;
    private fit;
    private queueInitialFit;
    destroy(): void;
    controlledPan(panEvent: IPanEvent): void;
    set<K extends keyof IPannerOptions>(prop: K, val: IPannerOptions[K], reinit?: boolean): void;
    zoomFit(): void;
    zoomInOut(level: number): void;
    pan(x: number, y: number, lastX: number | null, lastY: number | null): void;
    clearLast(): void;
}
export interface IPanEvent {
    x: number;
    y: number;
    lastX: number | null;
    lastY: number | null;
}
export default function createZeroG(element: HTMLElement, options?: IPannerOptions): ZeroGInstance;
