import type { DomainWithMetadata, NormalizedDomain, Scale, ScaleAlignment, ScaleTickParams, ScaleType } from 'ag-charts-core'; export declare abstract class AbstractScale implements Scale { abstract readonly type: ScaleType; abstract readonly defaultTickCount: number; abstract domain: D[]; abstract range: R[]; abstract normalizeDomains(...domains: DomainWithMetadata[]): NormalizedDomain; abstract toDomain(value: number): D | undefined; abstract convert(value: D, options: { clamp?: boolean; alignment?: ScaleAlignment; }): R; abstract invert(value: R, nearest?: boolean): D | undefined; invertWithPercentage(value: R): { value: D; groupPercentage: number; } | D | undefined; abstract getDomainMinMax(): [D, D] | [undefined, undefined]; snapshotDomain(): D[]; restoreDomain(snapshot: D[]): void; get domainMin(): D | undefined; get domainMax(): D | undefined; ticks(_ticks: ScaleTickParams, _domain?: D[], _visibleRange?: [number, number]): { ticks: D[]; count: number | undefined; } | undefined; niceDomain(_ticks: ScaleTickParams, domain?: D[]): D[]; get bandwidth(): number | undefined; get step(): number | undefined; get inset(): number | undefined; }