import type { AxisID, DomainWithMetadata, DynamicContext, NormalisedUnitTimeAxisOptions } from 'ag-charts-core';
import type { AgTimeInterval, AgTimeIntervalUnit, DateFormatterStyle, FormatterParams } from 'ag-charts-types';
import type { ChartRegistry } from '../../module/moduleContext';
import { UnitTimeScale } from '../../scale/unitTimeScale';
import type { FormatDatumParams } from '../chartAxis';
import type { AxisTickFormatParams } from './axis';
import { DiscreteTimeAxis } from './discreteTimeAxis';
export declare class UnitTimeAxis extends DiscreteTimeAxis<UnitTimeScale, NormalisedUnitTimeAxisOptions> {
    static readonly className: "UnitTimeAxis";
    static readonly type: "unit-time";
    defaultTickMinSpacing: number;
    get primaryLabel(): import("ag-charts-core").NormalisedCartesianTimeAxisLabelOptions<unknown> | undefined;
    get primaryTick(): Omit<import("ag-charts-types").AgAxisBaseTickOptions & {
        width: number;
        enabled: NonNullable<boolean | undefined>;
        size: number;
    }, never> | undefined;
    protected getLabelFormat(): string | Record<string, string> | undefined;
    protected getPrimaryLabelFormat(): string | Record<string, string> | undefined;
    constructor(moduleCtx: DynamicContext<ChartRegistry>, id: AxisID, options: NormalisedUnitTimeAxisOptions);
    hasDefinedDomain(): boolean;
    isCategoryLike(): boolean;
    private defaultUnit;
    processData(): void;
    protected updateScale(): void;
    normaliseDataDomain(d: DomainWithMetadata<Date>): {
        domain: Date[];
        clipped: boolean;
    };
    tickFormatParams(domain: (number | Date)[], ticks: (number | Date)[], _fractionDigits?: number, timeInterval?: AgTimeInterval | AgTimeIntervalUnit): AxisTickFormatParams;
    datumFormatParams(value: Date | number, params: FormatDatumParams, _fractionDigits: number | undefined, timeInterval: AgTimeInterval | AgTimeIntervalUnit | undefined, style: DateFormatterStyle): FormatterParams<any>;
}
