import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { Subscription } from 'rxjs';
import { GanttMilestone, GanttScaleDateInfo, GanttScaleUnit } from '../gantt.model';
import { GanttService } from '../gantt.service';
import * as i0 from "@angular/core";
export declare class GanttScaleComponent implements OnInit, OnChanges, OnDestroy {
    private ganttService;
    private i18n;
    scaleData: GanttScaleDateInfo[];
    viewScaleRange: number[];
    viewSCaleData: GanttScaleDateInfo[];
    ganttBarStatusHandler: Subscription;
    ganttSacleConfigHandler: Subscription;
    highlight: boolean;
    highlightStartText: string;
    highlightEndText: string;
    highlightMinWidth: number;
    SCALE_START_LABLE_OFFSET: number;
    scaleWidth: {
        day: number;
        week: number;
        month: number;
    };
    unit: GanttScaleUnit;
    height: number;
    startDate: Date;
    endDate: Date;
    ganttBarContainerElement: HTMLElement;
    ganttScaleContainerOffsetLeft: number;
    milestoneList: GanttMilestone[];
    scrollElement: HTMLElement;
    addMilestoneEvent: EventEmitter<GanttScaleDateInfo>;
    private scrollHandler;
    i18nText: I18nInterface['gantt'];
    i18nLocale: I18nInterface['locale'];
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    constructor(ganttService: GanttService, i18n: I18nService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    registerScrollEvent(): void;
    getViewScaleData(): void;
    private generateScaleData;
    private getNextDay;
    private generateDateInfo;
    trackByFn(index: any, item: any): any;
    private ganttBarStatusChange;
    prefixZero(num: number): string;
    addMilestone(info: GanttScaleDateInfo): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<GanttScaleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GanttScaleComponent, "d-gantt-scale", never, { "unit": "unit"; "height": "height"; "startDate": "startDate"; "endDate": "endDate"; "ganttBarContainerElement": "ganttBarContainerElement"; "ganttScaleContainerOffsetLeft": "ganttScaleContainerOffsetLeft"; "milestoneList": "milestoneList"; "scrollElement": "scrollElement"; }, { "addMilestoneEvent": "addMilestoneEvent"; }, never, never, false>;
}
