import { Coordinate } from './coordinate.js'; /** * A linear transform. First translate, and then scale. */ export declare class Transform { readonly translate: number; readonly scale: number; /** * Constructs an identity transform. * Applying such transform to any value has no effect. */ static identity(): Transform; /** * Construct a transform from a configuration object. */ static config(config: TransformConfig): Transform; private constructor(); /** * Apply the transform to a value in the space. * @param origin the origin for the transform * @param value the value to be transformed * @returns the transformed value */ apply(origin: number, value: number): number; } export interface TransformConfig { translate: number; scale: number; } /** * A two-dimensional transform. First translate, and then scale. */ export declare class Transform2D { readonly x: Transform; readonly y: Transform; /** * Constructs an identity transform. * Applying such transform to any coordinate has no effect. */ static identity(): Transform2D; /** * Construct a transform from a configuration object. */ static config(config: Transform2DConfig): Transform2D; private constructor(); /** * Apply the transform to a coordinate in the space. * @param origin the origin coordinate for the transform * @param value the coordinate to be transformed * @returns the transformed coordinate */ apply(origin: Coordinate, value: Coordinate): Coordinate; } export interface Transform2DConfig { x: TransformConfig; y: TransformConfig; } //# sourceMappingURL=transform.d.ts.map