/** * Copyright 2017-present Palantir Technologies * @license MIT */ import { TransformableScale } from "../scales/scale"; /** * Return `value` if its distance to `center` was scaled by `zoom`. * * e.g. zoomOut(100, 2, 50) -> 150 * e.g. zoomOut(0, 2, 50) -> -50 * e.g. zoomOut(100, 0.5, 50) -> 75 * e.g. zoomOut(0, 0.5, 50) -> 25 */ export declare function zoomOut(value: number, zoom: number, center: number): number; /** * Return possibly different zoomAmount and centerPoint values such that applying the zoom * to the scale respects the given min/max extents and values. */ export declare function constrainedZoom(scale: TransformableScale, zoomAmount: number, centerPoint: number, minDomainExtent: number, maxDomainExtent: number, minDomainValue: number, maxDomainValue: number): { centerPoint: number; zoomAmount: number; }; export declare function constrainZoomExtents(scale: TransformableScale, zoomAmount: number, minDomainExtent: number, maxDomainExtent: number): number; /** * Modify zoomAmount and centerPoint such that a panzoom will stay inside * the bounds defined by minDomainValue and maxDomainValue. */ export declare function constrainZoomValues(scale: TransformableScale, zoomAmount: number, centerPoint: number, minDomainValue: number, maxDomainValue: number): { centerPoint: number; zoomAmount: number; }; /** * Returns a new translation value that respects domain min/max value * constraints. */ export declare function constrainedTranslation(scale: TransformableScale, translation: number, minDomainValue: number, maxDomainValue: number): number;