import type { Matrix, Scene } from "./scene.types.ts"; /** A scale as a function of a number, which is all of d3's and Plot's `scaleLinear` that is used here. */ export type ScaleFunction = (value: number) => number; /** The least and the greatest of x and of y in the drawing's own numbers (feet), the domains to give two scales. */ export interface SurfaceDomain { x: [number, number]; y: [number, number]; } /** The extent of a scene: its `viewBox`, the margin round the surface included. */ export declare function domainOf(scene: Scene): SurfaceDomain; /** The matrix that takes the drawing's numbers to pixels through two scales. Only a scale that is a straight line (linear) will do; any other is an error. */ export declare function affineOf(x: ScaleFunction, y: ScaleFunction): Matrix;