/** * 比例尺工具 * 用于替代 d3-scale 的功能 */ export interface ScaleLinear { (x: number): number; domain(): number[]; domain(domain: number[]): ScaleLinear; range(): number[]; range(range: number[]): ScaleLinear; invert(y: number): number; ticks(count?: number): number[]; nice(count?: number): ScaleLinear; clamp(): boolean; clamp(clamp: boolean): ScaleLinear; } export declare function scaleLinear(): ScaleLinear; export interface ScalePow extends ScaleLinear { exponent(): number; exponent(k: number): ScalePow; } export declare function scalePow(): ScalePow; export interface ScaleLog extends ScaleLinear { base(): number; base(b: number): ScaleLog; } export declare function scaleLog(): ScaleLog; export interface ScaleOrdinal { (x: any): T; domain(): any[]; domain(domain: any[]): ScaleOrdinal; range(): T[]; range(range: T[]): ScaleOrdinal; unknown(value: T): ScaleOrdinal; } export declare function scaleOrdinal(range?: T[]): ScaleOrdinal; export interface ScaleQuantize { (x: number): any; domain(): number[]; domain(domain: number[]): ScaleQuantize; range(): any[]; range(range: any[]): ScaleQuantize; invertExtent(y: any): [number, number]; } export declare function scaleQuantize(): ScaleQuantize; export interface ScaleQuantile { (x: number): any; domain(): number[]; domain(domain: number[]): ScaleQuantile; range(): any[]; range(range: any[]): ScaleQuantile; invertExtent(y: any): [number, number]; quantiles(): number[]; } export declare function scaleQuantile(): ScaleQuantile; export interface ScaleThreshold { (x: number): any; domain(): number[]; domain(domain: number[]): ScaleThreshold; range(): any[]; range(range: any[]): ScaleThreshold; invertExtent(y: any): [number | undefined, number | undefined]; } export declare function scaleThreshold(): ScaleThreshold; export interface ScaleSequential { (x: number): any; domain(): number[]; domain(domain: number[]): ScaleSequential; interpolator(): (t: number) => any; interpolator(interpolator: (t: number) => any): ScaleSequential; clamp(): boolean; clamp(clamp: boolean): ScaleSequential; } export declare function scaleSequential(): ScaleSequential; export interface ScaleDiverging { (x: number): any; domain(): number[]; domain(domain: number[]): ScaleDiverging; interpolator(): (t: number) => any; interpolator(interpolator: (t: number) => any): ScaleDiverging; clamp(): boolean; clamp(clamp: boolean): ScaleDiverging; } export declare function scaleDiverging(): ScaleDiverging; export interface ScaleTime extends ScaleLinear { } export declare function scaleTime(): ScaleTime;