import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { NgxResourceTimelineService } from './ngx-resource-timeline.service';
import { Header, ItemMeta, Item, Period, SectionItem, Section, Text, Events } from './ngx-resource-timeline.model';
import moment from 'moment';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class NgxResourceTimelineComponent implements OnInit, OnDestroy {
    private changeDetector;
    private service;
    set SectionTd(elementRef: ElementRef);
    currentTimeFormat: string;
    showCurrentTime: boolean;
    showHeaderTitle: boolean;
    showActionButtons: boolean;
    showGoto: boolean;
    showToday: boolean;
    allowDragging: boolean;
    locale: string;
    showBusinessDayOnly: boolean;
    headerFormat: string;
    minRowHeight: number;
    maxHeight: string;
    text: Text;
    items: Item[];
    sections: Section[];
    periods: Period[];
    events: Events;
    start: moment.Moment;
    end: moment.Moment;
    showGotoModal: boolean;
    currentTimeIndicatorPosition: string;
    currentTimeVisibility: string;
    currentTimeTitle: string;
    ShowCurrentTimeHandle: any;
    SectionLeftMeasure: string;
    currentPeriod: Period;
    currentPeriodMinuteDiff: number;
    header: Header[];
    sectionItems: SectionItem[];
    subscription: Subscription;
    constructor(changeDetector: ChangeDetectorRef, service: NgxResourceTimelineService);
    ngOnInit(): void;
    refreshView(): void;
    trackByFn(index: any, item: any): any;
    setSectionsInSectionItems(): void;
    setItemsInSectionItems(): void;
    itemMetaCal(itemMeta: ItemMeta): ItemMeta;
    calCssTop(sortedItems: any): void;
    changePeriod(period: Period, userTrigger?: boolean): void;
    showCurrentTimeIndicator: () => void;
    gotoToday(): void;
    nextPeriod(): void;
    previousPeriod(): void;
    gotoDate(event: any): void;
    getDatesBetweenTwoDates(format: string, index: number): Header;
    getNumberOfWeekendDays(startDate: any, endDate: any): number;
    drop(event: CdkDragDrop<Section>): void;
    itemPush(): void;
    itemPop(): void;
    itemRemove(): void;
    sectionPush(): void;
    sectionPop(): void;
    sectionRemove(): void;
    refresh(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxResourceTimelineComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxResourceTimelineComponent, "ngx-rt[items][periods][sections]", never, { "currentTimeFormat": { "alias": "currentTimeFormat"; "required": false; }; "showCurrentTime": { "alias": "showCurrentTime"; "required": false; }; "showHeaderTitle": { "alias": "showHeaderTitle"; "required": false; }; "showActionButtons": { "alias": "showActionButtons"; "required": false; }; "showGoto": { "alias": "showGoto"; "required": false; }; "showToday": { "alias": "showToday"; "required": false; }; "allowDragging": { "alias": "allowDragging"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "showBusinessDayOnly": { "alias": "showBusinessDayOnly"; "required": false; }; "headerFormat": { "alias": "headerFormat"; "required": false; }; "minRowHeight": { "alias": "minRowHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "text": { "alias": "text"; "required": false; }; "items": { "alias": "items"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "periods": { "alias": "periods"; "required": false; }; "events": { "alias": "events"; "required": false; }; "start": { "alias": "start"; "required": false; }; }, {}, never, never, false, never>;
}
