/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { ActiveView, SelectionRange, CalendarViewEnum, MultiViewCalendarSettings } from '../models/index.js'; import * as React from 'react'; /** * The arguments for the `onChange` event of the MultiViewCalendar. * The generic argument sets the target type of the event. Defaults to `MultiViewCalendar`. */ export interface MultiViewCalendarChangeEvent { /** The React synthetic event */ syntheticEvent: React.SyntheticEvent; /** The native DOM event */ nativeEvent?: any; /** The new value of the MultiViewCalendar (can be a single Date, array of Dates, or SelectionRange) */ value: Date | Date[] | SelectionRange | null; /** The component instance that fired the event */ target: T; } /** * Represents the props of the [KendoReact MultiViewCalendar component](https://www.telerik.com/kendo-react-ui/components/dateinputs/multiviewcalendar). The generic argument is passed to the `onChange` property and is used as a target in the [`MultiViewCalendarChangeEvent`](https://www.telerik.com/kendo-react-ui/components/dateinputs/api/multiviewcalendarchangeevent) interface. */ export interface MultiViewCalendarProps extends MultiViewCalendarSettings { /** @hidden */ _ref?: (instance: { element: HTMLDivElement | null; }) => void; /** * Sets the default value of the MultiViewCalendar. */ defaultValue?: Date | Date[] | SelectionRange | null; /** * An event that is called after the value of the MultiViewCalendar has changed. The new value is generated based on the current `mode` of the MultiViewCalendar. */ onChange?: (event: MultiViewCalendarChangeEvent) => void; /** * Sets the value of the MultiViewCalendar. Based on the value type, the MultiViewcalendar renders a single, multiple, or range selection. */ value?: Date | Date[] | SelectionRange | null; /** @hidden */ mobileMode?: boolean; /** * @hidden */ dir?: string; } /** * @hidden */ export interface MultiViewCalendarState { value: Date | Date[] | SelectionRange | null; activeView: CalendarViewEnum; focusedDate: Date; navigateDate: Date; } /** * Represent the `ref` of the MultiViewCalendar component. */ export interface MultiViewCalendarHandle { /** * Returns the HTML element of the MultiViewCalendar component. */ element: HTMLDivElement | null; /** * Gets the current focused date of the MultiViewCalendar. */ focusedDate: Date; /** * Gets the value of the MultiViewCalendar. */ value: Date | Date[] | SelectionRange | null; /** * Returns the props of the MultiViewCalendar component. */ readonly props: MultiViewCalendarProps; /** * @hidden * Focuses the MultiViewCalendar component. */ focus(): void; } /** * @hidden * The default props of the MultiViewCalendar component. */ export declare const multiViewCalendarDefaultProps: { disabled: boolean; min: Date; max: Date; navigation: boolean; defaultActiveView: ActiveView; defaultValue: Date | Date[] | SelectionRange | null; topView: ActiveView; weekDaysFormat: "short"; tabIndex: number; bottomView: ActiveView; views: number; allowReverse: boolean; showOtherMonthDays: boolean; }; /** * Represents the PropsContext of the `MultiViewCalendar` component. * Used for global configuration of all `MultiViewCalendar` instances. * * For more information, refer to the [DateInputs Props Context](https://www.telerik.com/kendo-react-ui/components/dateinputs/props-context) article. */ export declare const MultiViewCalendarPropsContext: React.Context<(p: MultiViewCalendarProps) => MultiViewCalendarProps>; /** * @hidden * @deprecated Use MultiViewCalendarHandle directly. */ export declare const MultiViewCalendarWithoutContext: React.ForwardRefExoticComponent & React.RefAttributes>; /** * Represents the KendoReact MultiViewCalendar Component. * * Accepts properties of type [MultiViewCalendarProps](https://www.telerik.com/kendo-react-ui/components/dateinputs/api/multiviewcalendarprops). * Obtaining the `ref` returns an object of type [MultiViewCalendarHandle](https://www.telerik.com/kendo-react-ui/components/dateinputs/api/multiviewcalendarhandle). */ export declare const MultiViewCalendar: React.ForwardRefExoticComponent & React.RefAttributes>; /** @deprecated Use MultiViewCalendarHandle directly. */ export type MultiViewCalendar = MultiViewCalendarHandle;