/**
 * Pan and zoom controller for canvas charts
 * @countermeasure/web-components/charts/zoom
 */
/** Represents the current zoom/pan transformation state */
export interface ZoomTransform {
    scaleX: number;
    scaleY: number;
    translateX: number;
    translateY: number;
}
/** Handles mousewheel zoom and mouse drag pan on a canvas element */
export declare class ChartZoom {
    private canvas;
    private onZoom;
    private transform;
    private dragging;
    private lastX;
    private lastY;
    private readonly handleWheel;
    private readonly handleMouseDown;
    private readonly handleMouseMove;
    private readonly handleMouseUp;
    constructor(canvas: HTMLCanvasElement, onZoom: (transform: ZoomTransform) => void);
    /** Reset the transform to identity (no zoom, no pan) */
    reset(): void;
    /** Return a copy of the current transform state */
    getTransform(): ZoomTransform;
    /** Remove all event listeners */
    destroy(): void;
}
//# sourceMappingURL=zoom.d.ts.map