import type { DomainWithMetadata, NormalizedDomain } from 'ag-charts-core';
import { AbstractScale } from './abstractScale';
export declare abstract class ContinuousScale<D extends number | Date, I = number> extends AbstractScale<D, number, I> {
    range: number[];
    static is(value: unknown): value is ContinuousScale<any, any>;
    static readonly defaultTickCount = 5;
    readonly defaultTickCount = 5;
    protected defaultClamp: boolean;
    protected transform?(x: number): number;
    protected transformInvert?(x: number): D;
    private _domain;
    private domainNeedsValueOf;
    private d0Cache;
    private d1Cache;
    get domain(): D[];
    set domain(values: D[]);
    protected constructor(domain?: D[], range?: number[]);
    abstract toDomain(value: number): D;
    normalizeDomains(...domains: DomainWithMetadata<D>[]): NormalizedDomain<D>;
    calcBandwidth(smallestInterval?: number, minWidth?: 1 | 0): number;
    convert(value: D | number, options?: {
        clamp?: boolean;
    }): number;
    invert(x: number, _nearest?: boolean): any;
    getDomainMinMax(): [undefined, undefined] | [D, D];
    protected getPixelRange(): number;
}
export declare function normalizeContinuousDomains<D extends number | Date>(...domains: DomainWithMetadata<D>[]): NormalizedDomain<D>;
