/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { CalendarView, DateInputFormatPlaceholder, PopupSettings } from '@progress/kendo-angular-dateinputs';
import { Day } from '@progress/kendo-date-math';
/**
 * Represents the available configuration options for the DatePicker component used in the recurrence editor.
 */
export interface DatePickerOptions {
    /**
     * Defines the active view that the Calendar initially renders
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/calendar/view-options#active-view).
     * Always set the `activeView` within the range defined by `topView` and `bottomView`.
     *
     * @default 'month'
     */
    activeView?: CalendarView;
    /**
     * Defines the bottommost Calendar view to which the user can navigate
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/calendar-options#view-selection-depth)).
     */
    bottomView?: CalendarView;
    /**
     * Determines whether the built-in validator for disabled
     * date ranges is enforced when validating a form
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/disabled-dates#using-a-function)).
     */
    disabledDatesValidation?: boolean;
    /**
     * Sets the focused date of the Calendar component
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/calendar-options#focused-dates)).
     */
    focusedDate?: Date;
    /**
     * Sets the date format used to display the input value
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/formats)).
     */
    format?: string;
    /**
     * Defines the descriptions of the format sections in the input field
     * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/placeholders)).
     */
    formatPlaceHolder?: DateInputFormatPlaceholder;
    /**
     * Sets the largest valid date
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/date-ranges)).
     */
    max?: Date;
    /**
     * Sets the smallest valid date
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/date-ranges)).
     */
    min?: Date;
    /**
     * Sets or gets the `navigation` property of the Calendar and determines if the navigation side-bar is displayed
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/sidebar)).
     */
    navigation?: boolean;
    /**
     * Specifies the hint the DatePicker displays when its value is `null`
     * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/placeholders)).
     */
    placeholder?: string;
    /**
     * Sets the read-only state of the DatePicker input field
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/readonly-state#read-only-input)).
     *
     * If [`readonly`](https://www.telerik.com/kendo-angular-ui/components/dateinputs/api/datepickercomponent#readonly) is `true`, the input appears in a read-only state, regardless of the `readOnlyInput` value.
     */
    readOnlyInput?: boolean;
    /**
     * Sets the read-only state of the DatePicker
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/readonly-state#read-only-datepicker)).
     */
    readonly?: boolean;
    /**
     * Sets the title of the input element of the DatePicker.
     */
    title?: string;
    /**
     * Defines the topmost Calendar view to which the user can navigate
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/calendar/view-depth)).
     */
    topView?: CalendarView;
    /**
     * Determines if the week number column is displayed in the `month` view of the Calendar
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/calendar-options#week-number-column)).
     */
    weekNumber?: boolean;
    /**
     * Sets the dates of the DatePicker that are disabled
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/disabled-dates)).
     */
    disabledDates?: ((date: Date) => boolean) | Date[] | Day[];
    /**
     * Configures the popup options of the DatePicker.
     */
    popupSettings?: PopupSettings;
}
