import { Direction, Extent, NormalizedWheelEvent, ZoomExtent, ZoomTransform } from '../interfaces'; import { m4 } from '../math'; interface UseZoomProps { value?: ZoomTransform; onChange?: (value: ZoomTransform) => void; defaultValue?: ZoomTransform; /** * Constrain the zoom transform. */ constraint?: (transform: ZoomTransform) => ZoomTransform; /** * Direction to zoom. 'x' zooms horizontally, 'y' zooms vertically, 'xy' zooms both. */ direction?: Direction; /** * Extent to constrain the zoom transform within the bounds of the extent. */ extent?: Extent; /** * Zoom extent to constrain the zoom transform within the bounds of the extent. */ zoomExtent?: ZoomExtent; /** * The transform origin. */ transformOrigin?: [number, number]; preventDefault?: (event: NormalizedWheelEvent) => boolean; skip?: (event: NormalizedWheelEvent) => boolean; } /** * useZoom manages zoom state and provides a way to control zoom state. * It can be used controlled or uncontrolled. * In controlled mode you can provide a value and an onChange handler. * In uncontrolled mode you can provide a defaultValue and the hook * will return the current value and a setter. */ export declare function useZoom(options?: UseZoomProps): { ref: import("react").MutableRefObject; setRef: (newElement: Element) => void; transform: m4.Matrix4x4; setTransform: import("react").Dispatch>; }; export {}; //# sourceMappingURL=useZoom.d.ts.map