import { ModuleWithProviders, Provider } from '@angular/core';
import { IScaleGeneratorConfig, ITimelineZoom } from "./models";
import * as i0 from "@angular/core";
import * as i1 from "./timeline.component";
import * as i2 from "./components/item/timeline-item.component";
import * as i3 from "./components/date-marker/timeline-date-marker.component";
import * as i4 from "./components/scale-header/timeline-scale-header.component";
import * as i5 from "./components/panel/timeline-panel.component";
import * as i6 from "@angular/common";
import * as i7 from "angular-resizable-element";
import * as i8 from "angular-draggable-droppable";
interface ITimelineModuleInitializationConfig {
    /**
     * Provide it when you want to extend current timeline logic and add some new view types.
     * Should be provided StrategyManager class with IStrategyManager implementation.
     */
    strategyManager?: Provider;
    /**
     * Should be provided DayScaleGenerator class with IScaleGenerator implementation.
     */
    dayScaleGenerator?: Provider;
    /**
     * Should be provided WeekScaleGenerator class with IScaleGenerator implementation.
     */
    weekScaleGenerator?: Provider;
    /**
     * Should be provided MonthScaleGenerator class with IScaleGenerator implementation.
     */
    monthScaleGenerator?: Provider;
    /**
     * List of zooms.
     */
    zooms?: ITimelineZoom[];
    /**
     * Settings for the scale generation in day mode.
     */
    dayScaleConfig?: Partial<IScaleGeneratorConfig>;
    /**
     * Settings for the scale generation in week mode.
     */
    weekScaleConfig?: Partial<IScaleGeneratorConfig>;
    /**
     * Settings for the scale generation in month mode.
     */
    monthScaleConfig?: Partial<IScaleGeneratorConfig>;
}
export declare class TimelineModule {
    static forChild(config?: ITimelineModuleInitializationConfig): ModuleWithProviders<TimelineModule>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimelineModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<TimelineModule, [typeof i1.TimelineComponent, typeof i2.TimelineItemComponent, typeof i3.TimelineDateMarkerComponent, typeof i4.TimelineScaleHeaderComponent, typeof i5.TimelinePanelComponent], [typeof i6.CommonModule, typeof i7.ResizableModule, typeof i8.DragAndDropModule], [typeof i1.TimelineComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<TimelineModule>;
}
export {};
