/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { SchedulerView } from './scheduler-view';
/**
 * Represents an action that switches the current view to the next period
 * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar)).
 *
 * @example
 * ```typescript
 * const action = {
 *   type: 'next'
 * };
 * ```
 */
export interface Next {
    /** @hidden */
    type: 'next';
}
/**
 * Represents an action that switches the current view to the previous period
 * ([more information](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/navigationaction)).
 *
 * @example
 * ```typescript
 * const action = {
 *   type: 'prev'
 * };
 * ```
 */
export interface Prev {
    /** @hidden */
    type: 'prev';
}
/**
 * Represents an action that switches the current view to today's date
 * [more information](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/navigationaction).
 *
 * @example
 * ```typescript
 * const action = {
 *   type: 'today'
 * };
 * ```
 */
export interface Today {
    /** @hidden */
    type: 'today';
}
/**
 * Represents an action that switches the current view to a specific date
 * ([more information](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/navigationaction)).
 *
 * @example
 * ```typescript
 * const action = {
 *   type: 'select-date',
 *   date: new Date('2018-10-22')
 * };
 * ```
 */
export interface SelectDate {
    /** @hidden */
    type: 'select-date';
    /**
     * Defines the date selected by the Scheduler.
     */
    date: Date;
}
/**
 * Represents an action that changes the selected view to a specific instance
 * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar)).
 *
 * @example
 * ```typescript
 * const action = {
 *   type: 'view-change',
 *   view: schedulerView
 * };
 * ```
 */
export interface ViewChange {
    /** @hidden */
    type: 'view-change';
    /**
     * Defines the next view entry to display.
     */
    view: SchedulerView;
}
/**
 * Represents an action that displays the details for a specific date.
 *
 * @example
 * ```typescript
 * const action = {
 *   type: 'show-date',
 *   view: schedulerView,
 *   date: new Date()
 * };
 * ```
 */
export interface ShowDate {
    /** @hidden */
    type: 'show-date';
    /**
     * Defines the view in which the date displays.
     */
    view: SchedulerView;
    /**
     * Defines the new selected date.
     */
    date: Date;
}
/**
 * Represents an action that scrolls the view to a specific time.
 */
export interface ScrollTime {
    /** @hidden */
    type: 'scroll-time';
    /**
     * Defines the time to which the view scrolls.
     */
    time: string | Date;
}
/**
 * Represents an action that focuses the previous event.
 */
export interface FocusPrev {
    /** @hidden */
    type: 'focus-prev';
}
/**
 * Represents an action that focuses the next event.
 */
export interface FocusNext {
    /** @hidden */
    type: 'focus-next';
}
/**
 * Represents an action that toggles the **Show Business Hours** option.
 */
export interface ToggleBusinessHours {
    /** @hidden */
    type: 'toggle-business-hours';
}
/**
 * Represents an action that focuses the first toolbar tool.
 */
export interface FocusToolbar {
    /** @hidden */
    type: 'focus-toolbar';
}
/**
 * Represents a discriminated union of supported navigation actions
 * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar)).
 */
export type NavigationAction = Next | Prev | SelectDate | Today | ViewChange | ShowDate | ScrollTime | FocusPrev | FocusNext | ToggleBusinessHours | FocusToolbar;
