import { IViewModeAdaptor, IScaleGenerator, TimelineViewMode } from "./models";
import { DaysViewModeAdaptor } from "./view-mode-adaptor/days-view-mode-adaptor";
import { WeeksViewModeAdaptor } from "./view-mode-adaptor/weeks-view-mode-adaptor";
import { MonthsViewModeAdaptor } from "./view-mode-adaptor/months-view-mode-adaptor";
import * as i0 from "@angular/core";
export interface IStrategyManager<ViewMode = TimelineViewMode> {
    getScaleGenerator(viewMode: ViewMode): IScaleGenerator;
    getViewModeAdaptor(viewMode: ViewMode): IViewModeAdaptor;
}
export declare class DefaultStrategyManager<ViewMode> implements IStrategyManager<ViewMode> {
    protected _dayGenerator: IScaleGenerator;
    protected _weekGenerator: IScaleGenerator;
    protected _monthGenerator: IScaleGenerator;
    protected _generatorsDictionary: {
        103: IScaleGenerator;
        102: IScaleGenerator;
        101: IScaleGenerator;
    };
    protected _calculatorsDictionary: {
        103: DaysViewModeAdaptor;
        102: WeeksViewModeAdaptor;
        101: MonthsViewModeAdaptor;
    };
    constructor(_dayGenerator: IScaleGenerator, _weekGenerator: IScaleGenerator, _monthGenerator: IScaleGenerator);
    getViewModeAdaptor(viewMode: ViewMode): IViewModeAdaptor;
    getScaleGenerator(viewMode: ViewMode): IScaleGenerator;
    static ɵfac: i0.ɵɵFactoryDeclaration<DefaultStrategyManager<any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DefaultStrategyManager<any>>;
}
export declare class StrategyManager<ViewMode = TimelineViewMode> extends DefaultStrategyManager<ViewMode> {
    static ɵfac: i0.ɵɵFactoryDeclaration<StrategyManager<any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<StrategyManager<any>>;
}
