import type { DomainWithMetadata } from 'ag-charts-core';
import type { FormatterParams } from 'ag-charts-types';
import type { ModuleContext } from '../../module/moduleContext';
import { LinearScale } from '../../scale/linearScale';
import type { LogScale } from '../../scale/logScale';
import type { FormatDatumParams } from '../chartAxis';
import type { AxisTickFormatParams } from './axis';
import { CartesianAxis } from './cartesianAxis';
export declare class NumberAxis extends CartesianAxis<LinearScale | LogScale, number> {
    static readonly className: string;
    static readonly type: string;
    min?: number;
    max?: number;
    preferredMin?: number;
    preferredMax?: number;
    constructor(moduleCtx: ModuleContext, scale?: LinearScale | LogScale);
    hasDefinedDomain(): boolean;
    normaliseDataDomain(d: DomainWithMetadata<number>): {
        domain: number[];
        clipped: boolean;
    };
    getDomainExtentsNice(): [boolean, boolean];
    protected getVisibleDomain(domain: number[]): [number, number];
    tickFormatParams(domain: number[], _ticks: number[], fractionDigits?: number): AxisTickFormatParams;
    datumFormatParams(value: any, params: FormatDatumParams, fractionDigits?: number): FormatterParams<any>;
}
