import { Observable, ReplaySubject, Subject } from 'rxjs';
import { GanttBarStatus, GanttScaleConfig, GanttScaleUnit } from './gantt.model';
import * as i0 from "@angular/core";
export declare class GanttService {
    static DAY_DURATION: number;
    scaleUnit: GanttScaleUnit;
    scaleStartDate: Date;
    scaleEndDate: Date;
    ganttBarStatusChange: Subject<GanttBarStatus>;
    ganttScaleConfigChange: ReplaySubject<GanttScaleConfig>;
    mouseDownListener: Observable<number>;
    mouseMoveListener: Observable<unknown>;
    mouseEndListener: Observable<unknown>;
    constructor();
    changeGanttBarStatus(status: GanttBarStatus): void;
    registContainerEvents(scrollContainer: HTMLElement): void;
    changeGanttScaleConfig(status: GanttScaleConfig): void;
    setScaleConfig(config: GanttScaleConfig): void;
    getScaleUnitPixel(): 20 | 30 | 40;
    getDatePostionOffset(date: Date): number;
    getDuration(startDate: Date, endDate: Date): number;
    getDurationWidth(startDate: Date, endDate: Date): number;
    isSomeDate(date: Date, compareDate: Date): boolean;
    roundDate(date: Date): void;
    unRegistContainerEvents(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<GanttService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GanttService>;
}
