import { Transform } from "../transforms"; import { Range } from "../ranges/range"; import { Range1d } from "../ranges/range1d"; import { Arrayable } from "../../core/types"; import * as p from "../../core/properties"; export declare namespace Scale { type Attrs = p.AttrsOf; type Props = Transform.Props & { source_range: p.Property; target_range: p.Property; }; } export interface Scale extends Scale.Attrs { } export declare abstract class Scale extends Transform { properties: Scale.Props; constructor(attrs?: Partial); static initClass(): void; abstract compute(x: number): number; abstract v_compute(xs: Arrayable): Arrayable; abstract invert(sx: number): number; abstract v_invert(sxs: Arrayable): Arrayable; r_compute(x0: number, x1: number): [number, number]; r_invert(sx0: number, sx1: number): [number, number]; }