import { AxisConfig, ScaleName } from "../../../../models/index.js";
import { ChartsXAxisProps, ChartsAxisProps, ChartsYAxisProps, AxisId } from "../../../../models/axis.js";
import { ChartSeriesType } from "../../../../models/seriesType/config.js";
import type { ChartDrawingArea } from "../../../../hooks/index.js";
import { ChartSeriesConfig } from "../../models/seriesConfig/index.js";
import { ComputedAxisConfig, DefaultizedZoomOptions } from "./useChartCartesianAxis.types.js";
import { ProcessedSeries } from "../../corePlugins/useChartSeries/useChartSeries.types.js";
import { GetZoomAxisFilters, ZoomData } from "./zoom.types.js";
export type ComputeResult<T extends ChartsAxisProps> = {
  axis: ComputedAxisConfig<T>;
  axisIds: string[];
};
type ComputeCommonParams<T extends ChartSeriesType = ChartSeriesType> = {
  drawingArea: ChartDrawingArea;
  formattedSeries: ProcessedSeries<T>;
  seriesConfig: ChartSeriesConfig<T>;
  zoomMap?: Map<AxisId, ZoomData>;
  zoomOptions?: Record<AxisId, DefaultizedZoomOptions>;
  getFilters?: GetZoomAxisFilters;
};
export declare function computeAxisValue<T extends ChartSeriesType>(options: ComputeCommonParams<T> & {
  axis?: AxisConfig<ScaleName, any, ChartsYAxisProps>[];
  axisDirection: 'y';
}): ComputeResult<ChartsYAxisProps>;
export declare function computeAxisValue<T extends ChartSeriesType>(options: ComputeCommonParams<T> & {
  axis?: AxisConfig<ScaleName, any, ChartsXAxisProps>[];
  axisDirection: 'x';
}): ComputeResult<ChartsXAxisProps>;
export {};