import { TemplateRef, EventEmitter, ElementRef, ChangeDetectorRef, NgZone, SimpleChanges, InjectionToken, OnInit, OnDestroy, OnChanges } from '@angular/core'; import { Subject } from 'rxjs'; import { GanttItem, GanttGroup, GanttViewType, GanttLoadOnScrollEvent, GanttDragEvent, GanttGroupInternal, GanttItemInternal, GanttBarClickEvent, GanttLinkDragEvent } from './class'; import { GanttView, GanttViewOptions } from './views/view'; import { GanttStyles } from './gantt.styles'; import { GanttDragContainer } from './gantt-drag-container'; import { GanttGlobalConfig } from './gantt.config'; import { GanttLinkOptions } from './class/link'; import { SelectionModel } from '@angular/cdk/collections'; import { BooleanInput } from '@angular/cdk/coercion'; import * as i0 from "@angular/core"; export declare abstract class GanttUpper implements OnChanges, OnInit, OnDestroy { protected elementRef: ElementRef; protected cdr: ChangeDetectorRef; protected ngZone: NgZone; config: GanttGlobalConfig; originItems: GanttItem[]; originGroups: GanttGroup[]; viewType: GanttViewType; start: number; end: number; showTodayLine: boolean; draggable: boolean; styles: GanttStyles; viewOptions: GanttViewOptions; set linkOptions(options: GanttLinkOptions); get linkOptions(): GanttLinkOptions; disabledLoadOnScroll: boolean; set selectable(value: BooleanInput); get selectable(): boolean; set multiple(value: BooleanInput); get multiple(): boolean; loadOnScroll: EventEmitter; dragStarted: EventEmitter>; dragMoved: EventEmitter>; dragEnded: EventEmitter>; barClick: EventEmitter>; barTemplate: TemplateRef; rangeTemplate: TemplateRef; itemTemplate: TemplateRef; groupTemplate: TemplateRef; groupHeaderTemplate: TemplateRef; linkable: boolean; linkDragEnded: EventEmitter>; view: GanttView; items: GanttItemInternal[]; groups: GanttGroupInternal[]; viewChange: EventEmitter; expandChange: EventEmitter; get element(): HTMLElement; firstChange: boolean; dragContainer: GanttDragContainer; unsubscribe$: Subject; selectionModel: SelectionModel; private groupsMap; private _selectable; private _multiple; private _linkOptions; ganttClass: boolean; constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, ngZone: NgZone, config: GanttGlobalConfig); private createView; private setupGroups; private setupItems; private setupExpandedState; private getViewDate; computeRefs(): void; private expandGroups; private initSelectionModel; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; computeItemsRefs(...items: GanttItemInternal[]): void; trackBy(index: number, item: GanttGroupInternal | GanttItemInternal): string | number; detectChanges(): void; expandGroup(group: GanttGroupInternal): void; expandAll(): void; collapseAll(): void; getGanttItem(id: string): GanttItemInternal; getGanttItems(ids: string[]): GanttItemInternal[]; isSelected(id: string): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare const GANTT_UPPER_TOKEN: InjectionToken;