/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, Renderer2 } from '@angular/core';
import { ScrollbarWidthService } from '@progress/kendo-angular-common';
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 { LocalizationService } from '@progress/kendo-angular-l10n';
import { DateRange, NavigationAction, ViewItem } from '../../types';
import { TooltipDirective } from '@progress/kendo-angular-tooltip';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { FocusService } from '../../navigation';
import { BaseView } from '../common/base-view';
import { MonthSlotService } from '../month/month-slot.service';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class YearViewInternalComponent extends BaseView implements AfterViewInit {
    localization: LocalizationService;
    focusService: FocusService;
    intl: IntlService;
    /**
     * Calculates the next or previous range to be displayed
     */
    newRange: (date: Date, direction?: 1 | -1) => Date;
    /**
     * Determines the displayed date range and formats the selected date
     */
    dateRangeFn: (date: Date) => DateRange;
    private calendar;
    tooltip: TooltipDirective;
    get arrowIcons(): string[];
    get arrowSVGIcons(): SVGIcon[];
    caretAltLeftIcon: SVGIcon;
    caretAltRightIcon: SVGIcon;
    eventsPerSelectedDay: any[];
    days: Date[];
    focusedDate: Date;
    private currentTd;
    private tds;
    private isTooltipClicked;
    constructor(localization: LocalizationService, focusService: FocusService, intl: IntlService, viewContext: ViewContextService, viewState: ViewStateService, zone: NgZone, renderer: Renderer2, pdfService: PDFService, element: ElementRef, slotService: MonthSlotService, scrollBarWidthService: ScrollbarWidthService, changeDetector: ChangeDetectorRef);
    ngAfterViewInit(): void;
    getSlotClass(date: any): string[];
    getEventClasses(item: any, resources: any, isAllDay?: boolean): any;
    onBlur(): void;
    getDate(element: ElementRef): Date;
    eventTitle(event: any): string;
    onClick(event: any): void;
    onMouseDown(): void;
    onKeydown(event: any): void;
    navigateToDay(date: Date): void;
    private eventsPerDay;
    private tasksPerDay;
    onValueChange(date: Date): void;
    hasEvent(date: Date): boolean;
    createPDFElement(): void;
    protected onSelectDate(date: Date): void;
    protected onAction(e: NavigationAction): void;
    protected createTasks(items: ViewItem[], dateRange: DateRange): any[];
    protected reflow(): void;
    protected dateRange(date?: Date): DateRange;
    protected onTasksChange(): void;
    protected slotByIndex: (slotIndex: string, _args?: any) => void;
    protected dragHintSize: (startSlot: any, _endSlot?: any) => void;
    protected dragRanges: (slot: any) => void;
    protected slotByPosition: (x: number, _y?: number, _container?: any) => any;
    private createDaySlots;
    private getLastDayOfMonth;
    cachedTds: any[];
    private updateTds;
    private convertNgClassBindings;
    static ɵfac: i0.ɵɵFactoryDeclaration<YearViewInternalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<YearViewInternalComponent, "year-view-internal", never, { "newRange": { "alias": "newRange"; "required": false; }; "dateRangeFn": { "alias": "dateRangeFn"; "required": false; }; }, {}, never, never, true, never>;
}
