/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { ScrollSyncService } from '../scrolling/scroll-sync.service';
import { DependencyDomService } from '../dependencies/dependency-dom.service';
import { ViewItem } from '../models/view-item.interface';
import { TimelineViewType, TaskClassFn, DragScrollSettings, GanttTask } from '../models/models';
import { CurrentTimeMarkerService } from './current-time-marker.service';
import { CurrentTimeSettings } from '../models/current-time-settings.interface';
import { TaskDragService } from '../dragging/task-drag.service';
import { TaskTooltipOptions } from '../models/tooltip-options.interface';
import { GanttTaskTooltipTemplateDirective } from '../template-directives/task-tooltip-template.directive';
import { GanttLocalizationService } from '../localization/gantt-localization.service';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class GanttTimelineComponent implements AfterViewInit, OnChanges, OnDestroy {
    private scrollSyncService;
    private dependencyDomService;
    private renderer;
    private zone;
    private currentTimeMarkerService;
    private localization;
    private taskDragService;
    /**
     * Represents the scrollable container of the timeline content.
     * Used externally by the DependencyDragCreateDirective.
     */
    timelineContent: ElementRef<HTMLElement>;
    timelineColumns: ElementRef<HTMLElement>;
    timelineHeaderWrap: ElementRef<HTMLElement>;
    tasksContainer: ElementRef<HTMLElement>;
    private tooltip;
    /**
     * Represents the view container ref used for rendering the dependency drag popop.
     * Used externally by the DependencyDragCreateDirective.
     */
    dragPopupContainer: ViewContainerRef;
    /**
     * Represents the polyline element used for rendering the dependency drag editing interaction.
     * Used externally by the DependencyDragCreateDirective.
     */
    dependencyDragCreatePolyline: ElementRef<SVGPolylineElement>;
    rows: ViewItem[];
    slots: any[];
    groupSlots: any[];
    tableWidth: number;
    activeView: TimelineViewType;
    taskContentTemplate: TemplateRef<any>;
    taskTemplate: TemplateRef<any>;
    summaryTaskTemplate: TemplateRef<any>;
    taskClass: TaskClassFn;
    renderDependencyDragClues: boolean;
    dragScrollSettings: DragScrollSettings;
    currentTimeMarker: boolean | CurrentTimeSettings;
    customTooltipTemplate: GanttTaskTooltipTemplateDirective;
    tooltipOptions: TaskTooltipOptions;
    selectable: boolean;
    isTaskSelected: (item: object) => boolean;
    isExpanded: (item: object) => boolean;
    dependencies: any[];
    timelineContainerPress: EventEmitter<any>;
    timelineContainerDrag: EventEmitter<any>;
    timelineContainerRelease: EventEmitter<any>;
    /**
     * Specifies whether the draggable will attach or detach its pointer event listeners.
     */
    get draggableEnabled(): boolean;
    task: GanttTask;
    dragResult: {
        start: Date;
        end: Date;
        completionRatio: number;
    };
    dragging: boolean;
    completion: boolean;
    marquee: {
        show: boolean;
        left: number;
        width: number;
    };
    dragOffset: number;
    private subscriptions;
    private popupRef;
    constructor(scrollSyncService: ScrollSyncService, dependencyDomService: DependencyDomService, renderer: Renderer2, zone: NgZone, currentTimeMarkerService: CurrentTimeMarkerService, localization: GanttLocalizationService, taskDragService: TaskDragService);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    isNonWorking(item: any): boolean;
    messageFor(token: string): string;
    private createTimeMarker;
    static ɵfac: i0.ɵɵFactoryDeclaration<GanttTimelineComponent, [null, null, null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GanttTimelineComponent, "kendo-gantt-timeline", never, { "rows": { "alias": "rows"; "required": false; }; "slots": { "alias": "slots"; "required": false; }; "groupSlots": { "alias": "groupSlots"; "required": false; }; "tableWidth": { "alias": "tableWidth"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "taskContentTemplate": { "alias": "taskContentTemplate"; "required": false; }; "taskTemplate": { "alias": "taskTemplate"; "required": false; }; "summaryTaskTemplate": { "alias": "summaryTaskTemplate"; "required": false; }; "taskClass": { "alias": "taskClass"; "required": false; }; "renderDependencyDragClues": { "alias": "renderDependencyDragClues"; "required": false; }; "dragScrollSettings": { "alias": "dragScrollSettings"; "required": false; }; "currentTimeMarker": { "alias": "currentTimeMarker"; "required": false; }; "customTooltipTemplate": { "alias": "customTooltipTemplate"; "required": false; }; "tooltipOptions": { "alias": "tooltipOptions"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "isTaskSelected": { "alias": "isTaskSelected"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "dependencies": { "alias": "dependencies"; "required": false; }; }, { "timelineContainerPress": "timelineContainerPress"; "timelineContainerDrag": "timelineContainerDrag"; "timelineContainerRelease": "timelineContainerRelease"; }, never, never, true, never>;
}
