/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnChanges, TemplateRef, QueryList, ElementRef, ChangeDetectorRef, NgZone, Renderer2 } from '@angular/core';
import { ScrollbarWidthService } from '@progress/kendo-angular-common';
import { ZonedDate } from '@progress/kendo-date-math';
import { DateRange, NavigationAction } from '../../types';
import { DayTimeSlotService } from './day-time-slot.service';
import { ViewContextService } from '../view-context.service';
import { ViewStateService } from '../view-state.service';
import { IntlService } from '@progress/kendo-angular-intl';
import { PDFService } from '../../pdf/pdf.service';
import { BaseView } from '../common/base-view';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { DayTimeViewItemComponent } from './day-time-view-item.component';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare abstract class DayTimeViewComponent extends BaseView implements OnChanges {
    protected changeDetector: ChangeDetectorRef;
    timeSlotTemplate: TemplateRef<any>;
    dateHeaderTemplate: TemplateRef<any>;
    majorTimeHeaderTemplate: TemplateRef<any>;
    minorTimeHeaderTemplate: TemplateRef<any>;
    numberOfDays: number;
    scrollTime: string;
    startTime: string;
    endTime: string;
    workDayStart: string;
    workDayEnd: string;
    workWeekStart: number;
    workWeekEnd: number;
    slotDuration: number;
    slotDivisions: number;
    showWorkHours: boolean;
    getStartDate: any;
    getEndDate: any;
    getNextDate: any;
    currentTimeMarker: any;
    highlightOngoingEvents: any;
    currentTimeElements: QueryList<ElementRef>;
    eventElements: QueryList<DayTimeViewItemComponent>;
    currentTimeArrows: QueryList<ElementRef>;
    name: string;
    workDayStartTime: any;
    workDayEndTime: any;
    daySlots: any[];
    timeSlots: any[];
    resizeHintFormat: string;
    showCurrentTime: boolean;
    get classNames(): string;
    get timeSlotTemplateRef(): any;
    get dateHeaderTemplateRef(): any;
    get majorTimeHeaderTemplateRef(): any;
    get minorTimeHeaderTemplateRef(): TemplateRef<any>;
    protected schedulerTimeSlotTemplate: any;
    protected schedulerDateHeaderTemplate: any;
    protected schedulerMajorTimeHeaderTemplate: any;
    protected schedulerMinorTimeHeaderTemplate: any;
    protected currentTimeTimeout: any;
    protected ongoingEventsTimeout: any;
    protected currentDate: ZonedDate;
    protected verticalTime: boolean;
    protected initialUpdate: boolean;
    constructor(changeDetector: ChangeDetectorRef, viewContext: ViewContextService, viewState: ViewStateService, intl: IntlService, slotService: DayTimeSlotService, zone: NgZone, renderer: Renderer2, element: ElementRef, pdfService: PDFService, localization: LocalizationService, scrollBarWidthService: ScrollbarWidthService);
    ngOnChanges(changes: any): void;
    ngOnDestroy(): void;
    verticalItem(leafIndex: number, resourceIndex: number): any;
    timeSlotClass(slot: any, date: any, resourceIndex: any): string;
    protected toggleOngoingClass(): void;
    protected scrollToTime(time?: string | Date): void;
    protected optionsChange(options: any): void;
    protected updateView(): void;
    protected enableCurrentTime(): boolean;
    protected currentTime(): Date;
    protected updateCurrentTime(): void;
    protected updateOngoingEvents(): void;
    protected abstract currentTimeArrowOffset(): number;
    protected positionCurrentTime(): void;
    protected bindEvents(): void;
    protected onHeaderClick(e: any): void;
    protected slotByIndex(slotIndex: string, args: any): any;
    protected onSelectDate(date: Date): void;
    protected onAction(e: NavigationAction): void;
    protected dateRange(date?: Date): DateRange;
    protected createDaySlots(): any[];
    protected createTimeSlots(): any[];
    protected initWorkDay(): void;
    protected slotByPosition(x: number, y: number, container?: any): any;
    protected slotFields(slot: any): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<DayTimeViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DayTimeViewComponent, "kendo-day-time-view", never, { "timeSlotTemplate": { "alias": "timeSlotTemplate"; "required": false; }; "dateHeaderTemplate": { "alias": "dateHeaderTemplate"; "required": false; }; "majorTimeHeaderTemplate": { "alias": "majorTimeHeaderTemplate"; "required": false; }; "minorTimeHeaderTemplate": { "alias": "minorTimeHeaderTemplate"; "required": false; }; "numberOfDays": { "alias": "numberOfDays"; "required": false; }; "scrollTime": { "alias": "scrollTime"; "required": false; }; "startTime": { "alias": "startTime"; "required": false; }; "endTime": { "alias": "endTime"; "required": false; }; "workDayStart": { "alias": "workDayStart"; "required": false; }; "workDayEnd": { "alias": "workDayEnd"; "required": false; }; "workWeekStart": { "alias": "workWeekStart"; "required": false; }; "workWeekEnd": { "alias": "workWeekEnd"; "required": false; }; "slotDuration": { "alias": "slotDuration"; "required": false; }; "slotDivisions": { "alias": "slotDivisions"; "required": false; }; "showWorkHours": { "alias": "showWorkHours"; "required": false; }; "getStartDate": { "alias": "getStartDate"; "required": false; }; "getEndDate": { "alias": "getEndDate"; "required": false; }; "getNextDate": { "alias": "getNextDate"; "required": false; }; "currentTimeMarker": { "alias": "currentTimeMarker"; "required": false; }; "highlightOngoingEvents": { "alias": "highlightOngoingEvents"; "required": false; }; }, {}, never, never, false, never>;
}
