import { type Canvas } from "../utils/layout"; export declare const ErrInvalidAxisDomain: Error; export declare const ErrInvalidTickInterval: Error; export declare const ErrInvalidCategories: Error; type AxisDomain = { min: number; max: number; }; export type XScaleType = "numeric" | "categoryBand" | "categoryPoint"; type AxisSpecBase = { label: string; showGridLines: boolean; showTickLabels: boolean; showTicks?: boolean; }; type NumericXAxisSpec = AxisSpecBase & { placement: "bottom"; xScaleType: "numeric"; domain: { min: number; max: number; }; tickInterval: number; labelFormatter?: (value: number) => string; categories?: never; }; type CategoryXAxisSpec = AxisSpecBase & { placement: "bottom"; xScaleType: "categoryBand" | "categoryPoint"; categories: string[]; domain?: never; tickInterval?: never; }; export type AxisSpecX = NumericXAxisSpec | CategoryXAxisSpec; export type AxisSpecY = AxisSpecBase & { placement: "left" | "right"; domain: { min: number; max: number; }; tickInterval: number; labelFormatter?: (value: number) => string; }; export type AxisSpec = { domain: AxisDomain; tickInterval: number; label: string; showGridLines: boolean; showTickLabels: boolean; showTicks?: boolean; placement: "left" | "right" | "bottom" | "internalZero"; categories?: string[]; labelFormatter?: (value: number) => string; }; export type AxisResult = { toSvg: (val: number) => number; bandWidth?: number; }; export declare function computeAndRenderYAxis(spec: AxisSpec, chartArea: { top: number; left: number; width: number; height: number; }, canvas: Canvas, yAxisLabelX: number): AxisResult; export declare function computeAndRenderXAxis(spec: AxisSpecX, chartArea: { top: number; left: number; width: number; height: number; }, canvas: Canvas): AxisResult; export {}; //# sourceMappingURL=axes.d.ts.map