import type { ChannelAccessor, GenericMarkOptions, Mark, MarkType, PlotDefaults, PlotOptions, PlotScales, PlotState, RawValue, ScaleName, ScaleOptions, ScaleType, ScaledChannelName } from '../types.js'; /** * compute the plot scales */ export declare function computeScales(plotOptions: PlotOptions, plotWidth: number, plotHeight: number, plotHasFilledDotMarks: boolean, marks: Mark[], plotDefaults: PlotDefaults): PlotScales; export declare function createScale(name: ScaleName, scaleOptions: T, marks: Mark[], plotOptions: PlotOptions, plotWidth: number, plotHeight: number, plotHasFilledDotMarks: boolean, plotDefaults: PlotDefaults): { type: string; domain: number[]; range: number[]; fn: (() => string) | (() => number); skip: Map; isDummy: boolean; manualActiveMarks?: undefined; uniqueScaleProps?: undefined; autoTitle?: undefined; } | { type: ScaleType; domain: RawValue[] | [undefined, undefined]; range: any; fn: any; skip: Map>; manualActiveMarks: number; uniqueScaleProps: Set; autoTitle: string | null; isDummy?: undefined; }; /** * Infer a scale type based on the scale name, the data values mapped to it and * the mark types that are bound to the scale */ export declare function inferScaleType(name: ScaleName, dataValues: RawValue[], markTypes: Set): ScaleType; /** * Mark channels can explicitely or implicitely be exempt from being * mapped to a scale, so everywhere where values are being mapped to * scales, we need to check if the the scale is supposed to be used * not. That's what this function is used for. */ export declare function getUsedScales(plot: PlotState, options: GenericMarkOptions, mark: Mark): { [k in ScaledChannelName]: boolean; }; export declare function looksLikeANumber(input: string | number): boolean; export declare function projectXY(scales: PlotScales, x: RawValue, y: RawValue, useXScale?: boolean, useYScale?: boolean): [number, number]; export declare function projectX(channel: 'x' | 'x1' | 'x2', scales: PlotScales, value: RawValue): number; export declare function projectY(channel: 'y' | 'y1' | 'y2', scales: PlotScales, value: RawValue): number;