/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnChanges, NgZone, ElementRef, Renderer2, TemplateRef, ChangeDetectorRef, QueryList } from '@angular/core';
import { IntlService } from '@progress/kendo-angular-intl';
import { ScrollbarWidthService } from '@progress/kendo-angular-common';
import { Day } from '@progress/kendo-date-math';
import { DateRange, NavigationAction, ViewItem } from '../../types';
import { ViewContextService } from '../view-context.service';
import { ViewStateService } from '../view-state.service';
import { MonthSlotService } from './month-slot.service';
import { BaseView } from '../common/base-view';
import { PDFService } from '../../pdf/pdf.service';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { MonthViewItemComponent } from './month-view-item.component';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class MonthViewRendererComponent extends BaseView implements OnChanges {
    monthDaySlotTemplate: TemplateRef<any>;
    highlightOngoingEvents: any;
    type: 'month' | 'multiWeek';
    eventsPerDay: number | 'auto';
    adaptiveSlotHeight: boolean;
    /**
     * The number of weeks to be rendered in the view
     */
    numberOfWeeks: number;
    /**
     * Calculates the next or previous range to be displayed (for Month and Multi-Week views)
     */
    newRange: (date: Date, direction?: 1 | -1) => Date;
    /**
     * Determines the displayed date range and formats the selected date (for Month and Multi-Week views)
     */
    dateRangeFn: (date: Date, weekStart: Day) => DateRange;
    resizeHintFormat: any;
    weeks: any[];
    eventElements: QueryList<MonthViewItemComponent>;
    get monthDaySlotTemplateRef(): TemplateRef<any>;
    protected ongoingEventsTimeout: any;
    private schedulerMonthDaySlotTemplate;
    constructor(viewContext: ViewContextService, viewState: ViewStateService, intl: IntlService, slotService: MonthSlotService, zone: NgZone, element: ElementRef, renderer: Renderer2, pdfService: PDFService, localization: LocalizationService, changeDetector: ChangeDetectorRef, scrollBarWidthService: ScrollbarWidthService);
    ngOnChanges(changes: any): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    horizontalColspan(resourceIndex: number): any;
    verticalRowspan(resourceIndex: number): any;
    verticalItem(leafIndex: number, resourceIndex: number): any;
    daySlotClass(day: any, resourceIndex: any): string;
    cellTitle(value: Date): string;
    addDay(dayStart: Date): Date;
    isDayInPreviousMonth(day: Date): boolean;
    isDayInNextMonth(day: Date): boolean;
    protected optionsChange(changes: any): void;
    protected createTasks(items: ViewItem[], dateRange: DateRange): any[];
    protected onTasksChange(): void;
    protected reflow(): void;
    protected onClick(e: any, eventType?: string): void;
    protected slotByIndex(index: any, _args: any): any;
    protected onSelectDate(date: Date): void;
    protected onAction(e: NavigationAction): void;
    protected dateRange(date?: Date): DateRange;
    protected dragRanges(slot: any): any;
    protected dragHintSize(first: any, last: any): any;
    protected slotByPosition(x: number, y: number): any;
    protected updateOngoingEvents(): void;
    protected currentTime(): Date;
    protected toggleOngoingClass(): void;
    private createDaySlots;
    static ɵfac: i0.ɵɵFactoryDeclaration<MonthViewRendererComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MonthViewRendererComponent, "month-view", never, { "monthDaySlotTemplate": { "alias": "monthDaySlotTemplate"; "required": false; }; "highlightOngoingEvents": { "alias": "highlightOngoingEvents"; "required": false; }; "type": { "alias": "type"; "required": false; }; "eventsPerDay": { "alias": "eventsPerDay"; "required": false; }; "adaptiveSlotHeight": { "alias": "adaptiveSlotHeight"; "required": false; }; "numberOfWeeks": { "alias": "numberOfWeeks"; "required": false; }; "newRange": { "alias": "newRange"; "required": false; }; "dateRangeFn": { "alias": "dateRangeFn"; "required": false; }; }, {}, never, never, true, never>;
}
