import { DateInput, IItemsIterator, IScale, IScaleFormatter, IScaleGenerator, IScaleGeneratorConfig, IScaleGroup } from "../models";
import * as i0 from "@angular/core";
export declare abstract class BaseScaleGenerator implements IScaleGenerator {
    protected _config: IScaleGeneratorConfig;
    formatter: IScaleFormatter;
    constructor();
    protected abstract _getConfig(): IScaleGeneratorConfig;
    protected abstract _validateStartDate(startDate: DateInput): Date;
    protected abstract _validateEndDate(endDate: DateInput): Date;
    protected abstract _generateGroups(date: Date): IScaleGroup[];
    protected abstract _getColumnIndex(date: Date): number;
    protected abstract _getNextColumnDate(date: Date): Date;
    getStartDate(itemsBuilder: IItemsIterator): Date;
    getEndDate(itemsBuilder: IItemsIterator): Date;
    generateScale(startDate: Date, endDate: Date): IScale;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseScaleGenerator, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<BaseScaleGenerator>;
}
