import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { GanttRailStatus, GanttTaskInfo } from '../gantt.model';
import { GanttService } from '../gantt.service';
import * as i0 from "@angular/core";
export declare class GanttBarComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
    private cdr;
    private ganttService;
    private ele;
    private moveBarStartListener;
    private resizeBarLeftStartListener;
    private resizeBarRightStartListener;
    private dragProgressStartListener;
    private mouseMoveListener;
    private mouseEndListener;
    private moveBarStartHandler;
    private resizeBarLeftStartHandler;
    private resizeBarRightStartHandler;
    private dragProgressStartHandler;
    private mouseMoveHandler;
    private mouseEndHandler;
    private mouseOverProgressHandler;
    private mouseLeaveProgressHandler;
    mouseMoveTimer: any;
    mouseLeaveTimer: any;
    dragProgressStart: boolean;
    moveBarStart: boolean;
    private resizeBarLeftStart;
    private resizeBarRightStart;
    private barMoveStartPageX;
    private barResizeStartPageX;
    private barOriginLeft;
    private barOriginWidth;
    private originStartDate;
    private originEndDate;
    private barHovering;
    private progressHovering;
    private ganttScaleStatusHandler;
    focused: boolean;
    private MIN_WIDTH;
    left: number;
    width: number;
    private EARLYOFFSET;
    cdkOverlayOffsetX: number;
    ganttBar: ElementRef;
    ganttBarMain: ElementRef;
    ganttBarProgress: ElementRef;
    ganttBarTrack: ElementRef;
    ganttBarRail: ElementRef;
    ganttBarDarggerLeft: ElementRef;
    ganttBarDarggerRight: ElementRef;
    private max;
    private min;
    private step;
    private mouseEventDalay;
    duration: string;
    tipHovered: boolean;
    mouseMoveOnBar: boolean;
    percentage: number;
    private movedOut;
    private mouseenterHandler;
    private mouseleaveHandler;
    private scrollTimer;
    private SCROLL_STEP;
    private outDirection;
    private scrollViewRange;
    barMoveDisabled: boolean;
    barResizeDisabled: boolean;
    progressDisabled: boolean;
    startDate: Date;
    endDate: Date;
    progressRate: number;
    tipTemplateRef: TemplateRef<any>;
    titleTemplateRef: TemplateRef<any>;
    data: any;
    originOffsetX: number;
    id: string;
    title: string;
    showTitle: boolean;
    customBarClass: string;
    customBgClass: string;
    customTitleClass: string;
    scrollElement: HTMLElement;
    status: GanttRailStatus;
    barMoveStartEvent: EventEmitter<GanttTaskInfo>;
    barMovingEvent: EventEmitter<GanttTaskInfo>;
    barMoveEndEvent: EventEmitter<GanttTaskInfo>;
    barResizeStartEvent: EventEmitter<GanttTaskInfo>;
    barResizingEvent: EventEmitter<GanttTaskInfo>;
    barResizeEndEvent: EventEmitter<GanttTaskInfo>;
    barProgressEvent: EventEmitter<number>;
    constructor(cdr: ChangeDetectorRef, ganttService: GanttService, ele: ElementRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    writeValue(newValue: number): void;
    private onTouchedCallback;
    private onChangeCallback;
    private checkRangeValues;
    private checkStepValue;
    private ratioToValue;
    private convertHandlePositionToRatio;
    private clamp;
    private updateStyle;
    private registerMouseEventsListeners;
    private getSliderPagePosition;
    private getRailLength;
    private mousePositionToAdaptiveValue;
    private getDecimals;
    private progressStartDrag;
    private barStartMoving;
    private barLeftStartResizing;
    private barRightStartResizing;
    private mouseMoving;
    private checkIsOut;
    private autoScroll;
    private stopAutoScroll;
    private setLeft;
    private getGanttTaskInfo;
    private mouseStopMoving;
    private subscribeMouseActions;
    private unsubscribeMouseActions;
    private handleController;
    private setValue;
    private ensureValueInRange;
    private updateTrackAndHandle;
    private valueMustBeValid;
    private valueToOffset;
    private registerHandleHoverPopoverListener;
    ganttBarPopoverOnMouseHover($event: any): void;
    ganttBarPopoverOnMouseLeave(): void;
    mouseLeaveTip(): void;
    private ganttProgressPopoverOnMouseHover;
    private ganttProgressPopoverOnMouseLeave;
    private unregisterHandleHoverTooltip;
    private clearTimer;
    private focusController;
    dispatchGanttBarStatus(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<GanttBarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GanttBarComponent, "d-gantt-bar", never, { "barMoveDisabled": { "alias": "barMoveDisabled"; "required": false; }; "barResizeDisabled": { "alias": "barResizeDisabled"; "required": false; }; "progressDisabled": { "alias": "progressDisabled"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; "progressRate": { "alias": "progressRate"; "required": false; }; "tipTemplateRef": { "alias": "tipTemplateRef"; "required": false; }; "titleTemplateRef": { "alias": "titleTemplateRef"; "required": false; }; "data": { "alias": "data"; "required": false; }; "originOffsetX": { "alias": "originOffsetX"; "required": false; }; "id": { "alias": "id"; "required": false; }; "title": { "alias": "title"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "customBarClass": { "alias": "customBarClass"; "required": false; }; "customBgClass": { "alias": "customBgClass"; "required": false; }; "customTitleClass": { "alias": "customTitleClass"; "required": false; }; "scrollElement": { "alias": "scrollElement"; "required": false; }; "status": { "alias": "status"; "required": false; }; }, { "barMoveStartEvent": "barMoveStartEvent"; "barMovingEvent": "barMovingEvent"; "barMoveEndEvent": "barMoveEndEvent"; "barResizeStartEvent": "barResizeStartEvent"; "barResizingEvent": "barResizingEvent"; "barResizeEndEvent": "barResizeEndEvent"; "barProgressEvent": "barProgressEvent"; }, never, never, false, never>;
}
