import { type NumberValue } from '@mui/x-charts-vendor/d3-scale';
import { type ContinuousScaleName, type DefaultedAxis } from "../../../../models/axis.js";
import { type ProcessedSeries } from "../../corePlugins/useChartSeries/index.js";
import { type TickParams } from "../../../../hooks/useTicks.js";
/**
 * Calculates the initial domain and tick number for a given axis.
 * The domain should still run through the zoom filterMode after this step.
 */
export declare function calculateInitialDomainAndTickNumber(axis: DefaultedAxis<ContinuousScaleName>, axisDirection: 'x' | 'y', axisIndex: number, formattedSeries: ProcessedSeries, [minData, maxData]: [number | Date, number | Date], defaultTickNumber: number, preferStrictDomainInLineCharts: boolean | undefined): {
  domain: [NumberValue, NumberValue];
  tickNumber: number;
};
/**
 * Calculates the final domain for an axis.
 * After this step, the domain can be used to create the axis scale.
 */
export declare function calculateFinalDomain(axis: Pick<DefaultedAxis<ContinuousScaleName>, 'id' | 'domainLimit' | 'scaleType'> & TickParams & {
  min?: NumberValue;
  max?: NumberValue;
}, axisDirection: 'x' | 'y', axisIndex: number, formattedSeries: ProcessedSeries, [minData, maxData]: [number | Date, number | Date], tickNumber: number, preferStrictDomainInLineCharts: boolean | undefined): NumberValue[];