import { ScaleAlignment } from 'ag-charts-core';
import { OrdinalTimeScale } from './ordinalTimeScale';
/**
 * Approximate ordinal time scale using O(1) linear interpolation.
 * Use when data is uniform and visible datum count is large.
 *
 * This scale trades accuracy for performance - it assumes data is uniformly
 * distributed and uses linear interpolation instead of binary search.
 *
 * When a source scale is set, this scale delegates all property access to
 * the source scale, acting as a view with O(1) findIndex performance.
 */
export declare class ApproximateOrdinalTimeScale extends OrdinalTimeScale {
    static is(value: unknown): value is ApproximateOrdinalTimeScale;
    private _sourceScale;
    /**
     * Set the source scale that this approximate scale delegates to.
     * All property access (domain, range, etc.) will be delegated to the source.
     */
    setSourceScale(scale: OrdinalTimeScale): void;
    get bands(): Date[];
    protected refresh(): void;
    protected ordinalRange(i: number): number;
    convert(d: Date, options?: {
        clamp?: boolean;
        alignment?: ScaleAlignment;
    }): number;
    findIndex(value: Date, alignment?: ScaleAlignment): number | undefined;
}
