import { AfterViewInit, OnChanges, OnInit, EventEmitter, SimpleChanges, ElementRef } from '@angular/core';
import { TaskGroup, Task } from './models/task';
import { ViewMode } from './models/view-mode';
import * as i0 from "@angular/core";
export declare class GanttComponent implements AfterViewInit, OnChanges, OnInit {
    columnTitle?: string;
    multipleTaskPerLine: boolean;
    showSideTable: boolean;
    viewMode: ViewMode;
    tasks: TaskGroup[];
    marginBeforeStart?: number;
    marginAfterEnd?: number;
    allowMovement: boolean;
    hasPopup: boolean;
    containerWidth?: number;
    fullWidth: boolean;
    showOnlyHours: boolean;
    showOnlyDays: boolean;
    taskClicked: EventEmitter<Task>;
    taskDateChanged: EventEmitter<any>;
    viewChanged: EventEmitter<ViewMode>;
    outer: ElementRef | null;
    side: ElementRef | null;
    private _gantt?;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private _filterTask;
    private _validateViewMode;
    private _validateTasks;
    static ɵfac: i0.ɵɵFactoryDeclaration<GanttComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GanttComponent, "s-gantt", never, { "columnTitle": { "alias": "columnTitle"; "required": false; }; "multipleTaskPerLine": { "alias": "multipleTaskPerLine"; "required": false; }; "showSideTable": { "alias": "showSideTable"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "tasks": { "alias": "tasks"; "required": true; }; "marginBeforeStart": { "alias": "marginBeforeStart"; "required": false; }; "marginAfterEnd": { "alias": "marginAfterEnd"; "required": false; }; "allowMovement": { "alias": "allowMovement"; "required": false; }; "hasPopup": { "alias": "hasPopup"; "required": false; }; "containerWidth": { "alias": "containerWidth"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "showOnlyHours": { "alias": "showOnlyHours"; "required": false; }; "showOnlyDays": { "alias": "showOnlyDays"; "required": false; }; }, { "taskClicked": "taskClicked"; "taskDateChanged": "taskDateChanged"; "viewChanged": "viewChanged"; }, never, never, false, never>;
}
