/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, Renderer2, NgZone, OnInit, OnDestroy } from '@angular/core';
import { DateInputComponent } from '../dateinput/dateinput.component';
import { AutoCorrectOn } from './auto-correct-on.type';
import { DateRangeInput } from './date-range-input';
import { DateRangeService } from './date-range.service';
import { SelectionRange } from '../calendar/models/selection-range.interface';
import * as i0 from "@angular/core";
/**
 * Represents a directive that manages the start selection range for date range inputs.
 *
 * You can use the DateRangeStartInputDirective only with a DateInput component.
 *
 * @example
 * ```typescript
 * @Component({
 *   selector: 'my-app',
 *   template: `
 *     <kendo-daterange>
 *       <kendo-dateinput kendoDateRangeStartInput [(value)]="startDate"></kendo-dateinput>
 *       <kendo-dateinput kendoDateRangeEndInput [(value)]="endDate"></kendo-dateinput>
 *     </kendo-daterange>
 *   `
 * })
 * export class AppComponent {
 *   public startDate: Date = new Date();
 *   public endDate: Date = new Date();
 * }
 * ```
 *
 * @remarks
 * Applied to: {@link DateInputComponent}
 */
export declare class DateRangeStartInputDirective extends DateRangeInput implements OnInit, OnDestroy {
    private rangeService;
    private dateInput;
    renderer: Renderer2;
    /**
     * Specifies when the component automatically corrects invalid date ranges.
     * When the start date is greater than the end date, the component fixes the range to a single date either on input change or on blur ([see example](slug:autocorrect_daterange#toc-input-directives)).
     *
     * By default, the component does not perform any auto-correction.
     *
     */
    autoCorrectOn: AutoCorrectOn;
    /**
     * Determines how the calendar navigates when you focus on the input.
     * When you set `navigateCalendarOnFocus` to `true`, the calendar moves to the value of the focused input.
     * When you set it to `false`, the calendar shows the last selected date.
     *
     * @default false
     */
    navigateCalendarOnFocus: boolean;
    constructor(rangeService: DateRangeService, dateInput: DateInputComponent, element: ElementRef, renderer: Renderer2, zone: NgZone);
    ngOnInit(): void;
    protected ngAfterViewInit(): void;
    ngOnDestroy(): void;
    protected getRange(value: Date, correctOn: AutoCorrectOn): SelectionRange;
    protected updateInputValue(range: SelectionRange): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DateRangeStartInputDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DateRangeStartInputDirective, "[kendoDateRangeStartInput]", never, { "autoCorrectOn": { "alias": "autoCorrectOn"; "required": false; }; "navigateCalendarOnFocus": { "alias": "navigateCalendarOnFocus"; "required": false; }; }, {}, never, never, true, never>;
}
