import { type NumberValue } from '@mui/x-charts-vendor/d3-scale';
import { type ChartsXAxisProps, type ChartsAxisProps, type ChartsYAxisProps, type AxisId, type DefaultedXAxis, type DefaultedYAxis, type D3Scale } from "../../../../models/axis.js";
import { type ChartSeriesType } from "../../../../models/seriesType/config.js";
import type { ChartDrawingArea } from "../../../../hooks/index.js";
import { type ChartSeriesConfig } from "../../models/seriesConfig/index.js";
import { type ComputedAxisConfig } from "./useChartCartesianAxis.types.js";
import { type ProcessedSeries } from "../../corePlugins/useChartSeries/useChartSeries.types.js";
import { type ZoomData } from "./zoom.types.js";
export type ComputeResult<T extends ChartsAxisProps> = {
  axis: ComputedAxisConfig<T>;
  axisIds: AxisId[];
};
type ComputeCommonParams<T extends ChartSeriesType = ChartSeriesType> = {
  scales: Record<AxisId, D3Scale>;
  drawingArea: ChartDrawingArea;
  formattedSeries: ProcessedSeries<T>;
  seriesConfig: ChartSeriesConfig<T>;
  zoomMap?: Map<AxisId, ZoomData>;
  domains: Record<AxisId, {
    domain: ReadonlyArray<string | NumberValue>;
    tickNumber?: number;
  }>;
};
export declare function computeAxisValue<T extends ChartSeriesType>(options: ComputeCommonParams<T> & {
  axis?: DefaultedYAxis[];
  axisDirection: 'y';
}): ComputeResult<ChartsYAxisProps>;
export declare function computeAxisValue<T extends ChartSeriesType>(options: ComputeCommonParams<T> & {
  axis?: DefaultedXAxis[];
  axisDirection: 'x';
}): ComputeResult<ChartsXAxisProps>;
export {};