export function markZoomActivity(): void;
export function isStillZooming(): boolean;
/**
 * @param {import("../utils/interaction.js").default} event
 * @param {import("./layout/rectangle.js").default} coords
 * @param {(zoomEvent: ZoomEvent) => boolean | void} handleZoom
 * @param {import("../types/viewContext.js").Hover} [hover]
 * @param {import("../utils/animator.js").default} [animator]
 */
export function interactionToZoom(event: import("../utils/interaction.js").default, coords: import("./layout/rectangle.js").default, handleZoom: (zoomEvent: ZoomEvent) => boolean | void, hover?: import("../types/viewContext.js").Hover, animator?: import("../utils/animator.js").default): void;
export type ZoomEvent = {
    x: number;
    y: number;
    xDelta: number;
    yDelta: number;
    zDelta: number;
};
export type ZoomInteractionState = {
    smoother: ReturnType<typeof makeLerpSmoother>;
    touchPanEventBuffer: RingBuffer<{
        point: Point;
        timestamp: number;
    }>;
    touchPanLastPoint: Point | undefined;
    touchPanPointerCount: 0 | 1 | 2;
};
import { makeLerpSmoother } from "../utils/animator.js";
import RingBuffer from "../utils/ringBuffer.js";
import Point from "./layout/point.js";
//# sourceMappingURL=zoom.d.ts.map