/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core'; import { DateRangeService } from './date-range.service'; import { MultiViewCalendarComponent } from '../calendar/multiview-calendar.component'; import { SelectionRange } from '../calendar/models/selection-range.interface'; import { SelectionRangeEnd } from '../calendar/models/selection-range-end.type'; import { AutoCorrectOn } from './auto-correct-on.type'; import * as i0 from "@angular/core"; /** * Manages the MultiViewCalendar range selection. * This directive will be `deprecated` in a future version. * Use the MultiViewCalendar [range selection](https://www.telerik.com/kendo-angular-ui/components/dateinputs/multiviewcalendar/selection-modes#range-selection) instead. */ export declare class DateRangeSelectionDirective implements OnInit { private calendar; private cdr; private element; private dateRangeService; /** * Specifies the auto-correction behavior. If the start date is greater than the end date, * the directive corrects the date range to a single date either on input change or on blur * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/daterange/autocorrect#calendar-selection-directive)). * * By default, the auto-correction triggers on change. * To disable this behavior, set the `autoCorrectOn` property to `none`. * * @default 'change' */ autoCorrectOn: AutoCorrectOn; /** * Gets or sets the selection range of the calendar. When you set a new range, * the connected DateRangeService notifies all related parties. */ get selectionRange(): SelectionRange; set selectionRange(range: SelectionRange); /** * Gets or sets the active end of the selection range. This option determines which range end will be updated on * user interaction. When a new active end is set, the connected DateRangeService notifies all related parties. */ /** * Specifies which end of the selection range is marked as active. The active end gets modified when you interact with the component. When you set a new active end, the wired DateRangeService notifies all related components. For * example, the start and end DateInput components. * * > If the selection range is undefined, the value is ignored. */ get activeRangeEnd(): SelectionRangeEnd; set activeRangeEnd(activeRange: SelectionRangeEnd); /** * @hidden * When in adaptive mode range should not be set automatically on calendar value change but only on accept */ shouldSetRange: boolean; /** * Fires when the active range end changes. For more information, refer to * the section on [events](https://www.telerik.com/kendo-angular-ui/components/dateinputs/multiviewcalendar/events). */ activeRangeEndChange: EventEmitter; /** * Fires when the selection range changes. For more information, refer to * the section on [events](https://www.telerik.com/kendo-angular-ui/components/dateinputs/multiviewcalendar/events). */ selectionRangeChange: EventEmitter; private get calendarRange(); private calendarSubscriptions; private range; constructor(calendar: MultiViewCalendarComponent, cdr: ChangeDetectorRef, element: ElementRef, renderer: Renderer2, dateRangeService: DateRangeService); ngOnInit(): void; ngOnDestroy(): void; /** * @hidden */ handleChange(value: Date): void; setRange(range?: SelectionRange): void; private addSubscriptions; private isEqualCalendarRange; private handleBlur; private handleHover; private hasCompleteRange; private shouldAutoCorrect; private updateFocusedDate; private updateRange; private setSelectionRange; private acceptAndEmit; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }