/*!
 * devextreme-angular
 * Version: 24.2.6
 * Build date: Mon Mar 17 2025
 *
 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
 *
 * This software may be modified and distributed under the terms
 * of the MIT license. See the LICENSE file in the root of the project for details.
 *
 * https://github.com/DevExpress/devextreme-angular
 */
import { TransferState, ElementRef, NgZone, OnDestroy, EventEmitter, OnChanges, DoCheck, SimpleChanges, QueryList } from '@angular/core';
import dxScheduler from 'devextreme/ui/scheduler';
import dxSortable from 'devextreme/ui/sortable';
import dxDraggable from 'devextreme/ui/draggable';
import DataSource from 'devextreme/data/data_source';
import { AllDayPanelMode, ViewType, dxSchedulerAppointment, CellAppointmentsLimit, AppointmentAddedEvent, AppointmentAddingEvent, AppointmentClickEvent, AppointmentContextMenuEvent, AppointmentDblClickEvent, AppointmentDeletedEvent, AppointmentDeletingEvent, AppointmentFormOpeningEvent, AppointmentRenderedEvent, AppointmentTooltipShowingEvent, AppointmentUpdatedEvent, AppointmentUpdatingEvent, CellClickEvent, CellContextMenuEvent, ContentReadyEvent, DisposingEvent, InitializedEvent, OptionChangedEvent, RecurrenceEditMode, dxSchedulerScrolling } from 'devextreme/ui/scheduler';
import { event } from 'devextreme/events/events.types';
import { DataSourceOptions } from 'devextreme/data/data_source';
import { Store } from 'devextreme/data/store';
import { FirstDayOfWeek, Orientation } from 'devextreme/common';
import DxScheduler from 'devextreme/ui/scheduler';
import { DxComponent, DxTemplateHost, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core';
import { DxiResourceComponent } from 'devextreme-angular/ui/nested';
import { DxiViewComponent } from 'devextreme-angular/ui/nested';
import { DxiSchedulerResourceComponent } from 'devextreme-angular/ui/scheduler/nested';
import { DxiSchedulerViewComponent } from 'devextreme-angular/ui/scheduler/nested';
import type * as DxSchedulerTypes from "devextreme/ui/scheduler_types";
import * as i0 from "@angular/core";
import * as i1 from "devextreme-angular/ui/nested";
import * as i2 from "devextreme-angular/ui/scheduler/nested";
import * as i3 from "devextreme-angular/core";
/**
 * The Scheduler is a UI component that represents scheduled data and allows a user to manage and edit it.

 */
export declare class DxSchedulerComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck {
    private _watcherHelper;
    private _idh;
    instance: DxScheduler;
    /**
     * Specifies the shortcut key that sets focus on the UI component.
    
     */
    get accessKey(): string | undefined;
    set accessKey(value: string | undefined);
    /**
     * Specifies whether the UI component adapts to small screens.
    
     */
    get adaptivityEnabled(): boolean;
    set adaptivityEnabled(value: boolean);
    /**
     * Specifies the name of the data source item field whose value defines whether or not the corresponding appointment is an all-day appointment.
    
     */
    get allDayExpr(): string;
    set allDayExpr(value: string);
    /**
     * Specifies the display mode for the All day panel.
    
     */
    get allDayPanelMode(): AllDayPanelMode;
    set allDayPanelMode(value: AllDayPanelMode);
    /**
     * Specifies a custom template for cell overflow indicators.
    
     */
    get appointmentCollectorTemplate(): any;
    set appointmentCollectorTemplate(value: any);
    /**
     * Configures appointment reordering using drag and drop gestures.
    
     */
    get appointmentDragging(): {
        autoScroll?: boolean;
        data?: any | undefined;
        group?: string | undefined;
        onAdd?: ((e: {
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
        }) => void);
        onDragEnd?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
            toItemData: any;
        }) => void);
        onDragMove?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
        }) => void);
        onDragStart?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromData: any;
            itemData: any;
            itemElement: any;
        }) => void);
        onRemove?: ((e: {
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
        }) => void);
        scrollSensitivity?: number;
        scrollSpeed?: number;
    };
    set appointmentDragging(value: {
        autoScroll?: boolean;
        data?: any | undefined;
        group?: string | undefined;
        onAdd?: ((e: {
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
        }) => void);
        onDragEnd?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
            toItemData: any;
        }) => void);
        onDragMove?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
        }) => void);
        onDragStart?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromData: any;
            itemData: any;
            itemElement: any;
        }) => void);
        onRemove?: ((e: {
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
        }) => void);
        scrollSensitivity?: number;
        scrollSpeed?: number;
    });
    /**
     * Specifies a custom template for appointments.
    
     */
    get appointmentTemplate(): any;
    set appointmentTemplate(value: any);
    /**
     * Specifies a custom template for tooltips displayed when users click an appointment or cell overflow indicator.
    
     */
    get appointmentTooltipTemplate(): any;
    set appointmentTooltipTemplate(value: any);
    /**
     * Specifies cell duration in minutes. This property&apos;s value should divide the interval between startDayHour and endDayHour into even parts.
    
     */
    get cellDuration(): number;
    set cellDuration(value: number);
    /**
     * Specifies whether or not an end user can scroll the view in both directions at the same time.
    
     */
    get crossScrollingEnabled(): boolean;
    set crossScrollingEnabled(value: boolean);
    /**
     * Specifies the current date.
    
     */
    get currentDate(): Date | number | string;
    set currentDate(value: Date | number | string);
    /**
     * Specifies the displayed view. Accepts name or type of a view available in the views array.
    
     */
    get currentView(): string | ViewType;
    set currentView(value: string | ViewType);
    /**
     * Customizes the date navigator&apos;s text.
    
     */
    get customizeDateNavigatorText(): ((info: {
        endDate: Date;
        startDate: Date;
        text: string;
    }) => string) | undefined;
    set customizeDateNavigatorText(value: ((info: {
        endDate: Date;
        startDate: Date;
        text: string;
    }) => string) | undefined);
    /**
     * Specifies a custom template for table cells.
    
     */
    get dataCellTemplate(): any;
    set dataCellTemplate(value: any);
    /**
     * Binds the UI component to data.
    
     */
    get dataSource(): Array<dxSchedulerAppointment> | DataSource | DataSourceOptions | null | Store | string;
    set dataSource(value: Array<dxSchedulerAppointment> | DataSource | DataSourceOptions | null | Store | string);
    /**
     * Specifies a custom template for day scale items.
    
     */
    get dateCellTemplate(): any;
    set dateCellTemplate(value: any);
    /**
     * Specifies the format in which date-time values should be sent to the server.
    
     */
    get dateSerializationFormat(): string | undefined;
    set dateSerializationFormat(value: string | undefined);
    /**
     * Specifies the name of the data source item field whose value holds the description of the corresponding appointment.
    
     */
    get descriptionExpr(): string;
    set descriptionExpr(value: string);
    /**
     * Specifies whether the UI component responds to user interaction.
    
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    /**
     * Specifies a custom template for tooltips displayed when users click a cell overflow indicator.
    
     * @deprecated Use the appointmentTooltipTemplate option instead.
    
     */
    get dropDownAppointmentTemplate(): any;
    set dropDownAppointmentTemplate(value: any);
    /**
     * Specifies which editing operations a user can perform on appointments.
    
     */
    get editing(): boolean | {
        allowAdding?: boolean;
        allowDeleting?: boolean;
        allowDragging?: boolean;
        allowResizing?: boolean;
        allowTimeZoneEditing?: boolean;
        allowUpdating?: boolean;
    };
    set editing(value: boolean | {
        allowAdding?: boolean;
        allowDeleting?: boolean;
        allowDragging?: boolean;
        allowResizing?: boolean;
        allowTimeZoneEditing?: boolean;
        allowUpdating?: boolean;
    });
    /**
     * Specifies the global attributes to be attached to the UI component&apos;s container element.
    
     */
    get elementAttr(): Record<string, any>;
    set elementAttr(value: Record<string, any>);
    /**
     * Specifies the name of the data source item field that defines the ending of an appointment.
    
     */
    get endDateExpr(): string;
    set endDateExpr(value: string);
    /**
     * Specifies the name of the data source item field that defines the timezone of the appointment end date.
    
     */
    get endDateTimeZoneExpr(): string;
    set endDateTimeZoneExpr(value: string);
    /**
     * Specifies the last hour on the time scale. Accepts integer values from 0 to 24.
    
     */
    get endDayHour(): number;
    set endDayHour(value: number);
    /**
     * Specifies the first day of a week. Does not apply to the agenda view.
    
     */
    get firstDayOfWeek(): FirstDayOfWeek | undefined;
    set firstDayOfWeek(value: FirstDayOfWeek | undefined);
    /**
     * Specifies whether the UI component can be focused using keyboard navigation.
    
     */
    get focusStateEnabled(): boolean;
    set focusStateEnabled(value: boolean);
    /**
     * If true, appointments are grouped by date first and then by resource; opposite if false. Applies only if appointments are grouped and groupOrientation is &apos;horizontal&apos;.
    
     */
    get groupByDate(): boolean;
    set groupByDate(value: boolean);
    /**
     * Specifies the resource kinds by which the scheduler&apos;s appointments are grouped in a timetable.
    
     */
    get groups(): Array<string>;
    set groups(value: Array<string>);
    /**
     * Specifies the UI component&apos;s height.
    
     */
    get height(): (() => number | string) | number | string | undefined;
    set height(value: (() => number | string) | number | string | undefined);
    /**
     * Specifies text for a hint that appears when a user pauses on the UI component.
    
     */
    get hint(): string | undefined;
    set hint(value: string | undefined);
    /**
     * Specifies the time interval between when the date-time indicator changes its position, in milliseconds.
    
     */
    get indicatorUpdateInterval(): number;
    set indicatorUpdateInterval(value: number);
    /**
     * The latest date the UI component allows you to select.
    
     */
    get max(): Date | number | string | undefined;
    set max(value: Date | number | string | undefined);
    /**
     * Specifies the limit of full-sized appointments displayed per cell. Applies to all views except &apos;agenda&apos;.
    
     */
    get maxAppointmentsPerCell(): CellAppointmentsLimit | number;
    set maxAppointmentsPerCell(value: CellAppointmentsLimit | number);
    /**
     * The earliest date the UI component allows you to select.
    
     */
    get min(): Date | number | string | undefined;
    set min(value: Date | number | string | undefined);
    /**
     * Specifies the text or HTML markup displayed by the UI component if the item collection is empty. Available for the Agenda view only.
    
     */
    get noDataText(): string;
    set noDataText(value: string);
    /**
     * Specifies the minute offset within Scheduler indicating the starting point of a day.
    
     */
    get offset(): number;
    set offset(value: number);
    /**
     * Specifies the edit mode for recurring appointments.
    
     */
    get recurrenceEditMode(): RecurrenceEditMode;
    set recurrenceEditMode(value: RecurrenceEditMode);
    /**
     * Specifies the name of the data source item field that defines exceptions for the current recurring appointment.
    
     */
    get recurrenceExceptionExpr(): string;
    set recurrenceExceptionExpr(value: string);
    /**
     * Specifies the name of the data source item field that defines a recurrence rule for generating recurring appointments.
    
     */
    get recurrenceRuleExpr(): string;
    set recurrenceRuleExpr(value: string);
    /**
     * Specifies whether filtering is performed on the server or client side.
    
     */
    get remoteFiltering(): boolean;
    set remoteFiltering(value: boolean);
    /**
     * Specifies a custom template for resource headers.
    
     */
    get resourceCellTemplate(): any;
    set resourceCellTemplate(value: any);
    /**
     * Specifies an array of resources available in the scheduler.
    
     */
    get resources(): {
        allowMultiple?: boolean;
        colorExpr?: string;
        dataSource?: Array<any> | DataSource | DataSourceOptions | null | Store | string;
        displayExpr?: ((resource: any) => string) | string;
        fieldExpr?: string;
        label?: string;
        useColorAsDefault?: boolean;
        valueExpr?: Function | string;
    }[];
    set resources(value: {
        allowMultiple?: boolean;
        colorExpr?: string;
        dataSource?: Array<any> | DataSource | DataSourceOptions | null | Store | string;
        displayExpr?: ((resource: any) => string) | string;
        fieldExpr?: string;
        label?: string;
        useColorAsDefault?: boolean;
        valueExpr?: Function | string;
    }[]);
    /**
     * Switches the UI component to a right-to-left representation.
    
     */
    get rtlEnabled(): boolean;
    set rtlEnabled(value: boolean);
    /**
     * Configures scrolling.
    
     */
    get scrolling(): dxSchedulerScrolling;
    set scrolling(value: dxSchedulerScrolling);
    /**
     * The data of the currently selected cells.
    
     */
    get selectedCellData(): Array<any>;
    set selectedCellData(value: Array<any>);
    /**
     * Specifies whether to apply shading to cover the timetable up to the current time.
    
     */
    get shadeUntilCurrentTime(): boolean;
    set shadeUntilCurrentTime(value: boolean);
    /**
     * Specifies the &apos;All-day&apos; panel&apos;s visibility. Setting this property to false hides the panel along with the all-day appointments.
    
     */
    get showAllDayPanel(): boolean;
    set showAllDayPanel(value: boolean);
    /**
     * Specifies the current date-time indicator&apos;s visibility.
    
     */
    get showCurrentTimeIndicator(): boolean;
    set showCurrentTimeIndicator(value: boolean);
    /**
     * Specifies the name of the data source item field that defines the start of an appointment.
    
     */
    get startDateExpr(): string;
    set startDateExpr(value: string);
    /**
     * Specifies the name of the data source item field that defines the timezone of the appointment start date.
    
     */
    get startDateTimeZoneExpr(): string;
    set startDateTimeZoneExpr(value: string);
    /**
     * Specifies the first hour on the time scale. Accepts integer values from 0 to 24.
    
     */
    get startDayHour(): number;
    set startDayHour(value: number);
    /**
     * Specifies the number of the element when the Tab key is used for navigating.
    
     */
    get tabIndex(): number;
    set tabIndex(value: number);
    /**
     * Specifies the name of the data source item field that holds the subject of an appointment.
    
     */
    get textExpr(): string;
    set textExpr(value: string);
    /**
     * Specifies a custom template for time scale items.
    
     */
    get timeCellTemplate(): any;
    set timeCellTemplate(value: any);
    /**
     * Specifies the time zone for the Scheduler&apos;s grid. Accepts values from the IANA time zone database.
    
     */
    get timeZone(): string;
    set timeZone(value: string);
    /**
     * Specifies whether a user can switch views using tabs or a drop-down menu.
    
     */
    get useDropDownViewSwitcher(): boolean;
    set useDropDownViewSwitcher(value: boolean);
    /**
     * Specifies and configures the views to be available in the view switcher.
    
     */
    get views(): Array<Record<string, any> | string> | {
        agendaDuration?: number;
        allDayPanelMode?: AllDayPanelMode;
        appointmentCollectorTemplate?: any;
        appointmentTemplate?: any;
        appointmentTooltipTemplate?: any;
        cellDuration?: number;
        dataCellTemplate?: any;
        dateCellTemplate?: any;
        dropDownAppointmentTemplate?: any;
        endDayHour?: number;
        firstDayOfWeek?: FirstDayOfWeek | undefined;
        groupByDate?: boolean;
        groupOrientation?: Orientation;
        groups?: Array<string>;
        intervalCount?: number;
        maxAppointmentsPerCell?: CellAppointmentsLimit | number;
        name?: string | undefined;
        offset?: number;
        resourceCellTemplate?: any;
        scrolling?: dxSchedulerScrolling;
        startDate?: Date | number | string | undefined;
        startDayHour?: number;
        timeCellTemplate?: any;
        type?: undefined | ViewType;
    }[];
    set views(value: Array<Record<string, any> | string> | {
        agendaDuration?: number;
        allDayPanelMode?: AllDayPanelMode;
        appointmentCollectorTemplate?: any;
        appointmentTemplate?: any;
        appointmentTooltipTemplate?: any;
        cellDuration?: number;
        dataCellTemplate?: any;
        dateCellTemplate?: any;
        dropDownAppointmentTemplate?: any;
        endDayHour?: number;
        firstDayOfWeek?: FirstDayOfWeek | undefined;
        groupByDate?: boolean;
        groupOrientation?: Orientation;
        groups?: Array<string>;
        intervalCount?: number;
        maxAppointmentsPerCell?: CellAppointmentsLimit | number;
        name?: string | undefined;
        offset?: number;
        resourceCellTemplate?: any;
        scrolling?: dxSchedulerScrolling;
        startDate?: Date | number | string | undefined;
        startDayHour?: number;
        timeCellTemplate?: any;
        type?: undefined | ViewType;
    }[]);
    /**
     * Specifies whether the UI component is visible.
    
     */
    get visible(): boolean;
    set visible(value: boolean);
    /**
     * Specifies the UI component&apos;s width.
    
     */
    get width(): (() => number | string) | number | string | undefined;
    set width(value: (() => number | string) | number | string | undefined);
    /**
    
     * A function that is executed after an appointment is added to the data source.
    
    
     */
    onAppointmentAdded: EventEmitter<AppointmentAddedEvent>;
    /**
    
     * A function that is executed before an appointment is added to the data source.
    
    
     */
    onAppointmentAdding: EventEmitter<AppointmentAddingEvent>;
    /**
    
     * A function that is executed when an appointment is clicked or tapped.
    
    
     */
    onAppointmentClick: EventEmitter<AppointmentClickEvent>;
    /**
    
     * A function that is executed when a user attempts to open the browser&apos;s context menu for an appointment. Allows you to replace this context menu with a custom context menu.
    
    
     */
    onAppointmentContextMenu: EventEmitter<AppointmentContextMenuEvent>;
    /**
    
     * A function that is executed when an appointment is double-clicked or double-tapped.
    
    
     */
    onAppointmentDblClick: EventEmitter<AppointmentDblClickEvent>;
    /**
    
     * A function that is executed after an appointment is deleted from the data source.
    
    
     */
    onAppointmentDeleted: EventEmitter<AppointmentDeletedEvent>;
    /**
    
     * A function that is executed before an appointment is deleted from the data source.
    
    
     */
    onAppointmentDeleting: EventEmitter<AppointmentDeletingEvent>;
    /**
    
     * A function that is executed before an appointment details form appears. Use this function to customize the form.
    
    
     */
    onAppointmentFormOpening: EventEmitter<AppointmentFormOpeningEvent>;
    /**
    
     * A function that is executed when an appointment is rendered.
    
    
     */
    onAppointmentRendered: EventEmitter<AppointmentRenderedEvent>;
    /**
    
     * Occurs before showing an appointment&apos;s tooltip.
    
    
     */
    onAppointmentTooltipShowing: EventEmitter<AppointmentTooltipShowingEvent>;
    /**
    
     * A function that is executed after an appointment is updated in the data source.
    
    
     */
    onAppointmentUpdated: EventEmitter<AppointmentUpdatedEvent>;
    /**
    
     * A function that is executed before an appointment is updated in the data source.
    
    
     */
    onAppointmentUpdating: EventEmitter<AppointmentUpdatingEvent>;
    /**
    
     * A function that is executed when a view cell is clicked.
    
    
     */
    onCellClick: EventEmitter<CellClickEvent>;
    /**
    
     * A function that is executed when a user attempts to open the browser&apos;s context menu for a cell. Allows you to replace this context menu with a custom context menu.
    
    
     */
    onCellContextMenu: EventEmitter<CellContextMenuEvent>;
    /**
    
     * A function that is executed when the UI component is rendered and each time the component is repainted.
    
    
     */
    onContentReady: EventEmitter<ContentReadyEvent>;
    /**
    
     * A function that is executed before the UI component is disposed of.
    
    
     */
    onDisposing: EventEmitter<DisposingEvent>;
    /**
    
     * A function used in JavaScript frameworks to save the UI component instance.
    
    
     */
    onInitialized: EventEmitter<InitializedEvent>;
    /**
    
     * A function that is executed after a UI component property is changed.
    
    
     */
    onOptionChanged: EventEmitter<OptionChangedEvent>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    accessKeyChange: EventEmitter<string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    adaptivityEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    allDayExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    allDayPanelModeChange: EventEmitter<AllDayPanelMode>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    appointmentCollectorTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    appointmentDraggingChange: EventEmitter<{
        autoScroll?: boolean;
        data?: any | undefined;
        group?: string | undefined;
        onAdd?: ((e: {
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
        }) => void);
        onDragEnd?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
            toItemData: any;
        }) => void);
        onDragMove?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
            toData: any;
        }) => void);
        onDragStart?: ((e: {
            cancel: boolean;
            component: dxScheduler;
            event: event;
            fromData: any;
            itemData: any;
            itemElement: any;
        }) => void);
        onRemove?: ((e: {
            component: dxScheduler;
            event: event;
            fromComponent: dxSortable | dxDraggable;
            fromData: any;
            itemData: any;
            itemElement: any;
            toComponent: dxSortable | dxDraggable;
        }) => void);
        scrollSensitivity?: number;
        scrollSpeed?: number;
    }>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    appointmentTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    appointmentTooltipTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    cellDurationChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    crossScrollingEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    currentDateChange: EventEmitter<Date | number | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    currentViewChange: EventEmitter<string | ViewType>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    customizeDateNavigatorTextChange: EventEmitter<((info: {
        endDate: Date;
        startDate: Date;
        text: string;
    }) => string) | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dataCellTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dataSourceChange: EventEmitter<Array<dxSchedulerAppointment> | DataSource | DataSourceOptions | null | Store | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dateCellTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dateSerializationFormatChange: EventEmitter<string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    descriptionExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    disabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dropDownAppointmentTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    editingChange: EventEmitter<boolean | {
        allowAdding?: boolean;
        allowDeleting?: boolean;
        allowDragging?: boolean;
        allowResizing?: boolean;
        allowTimeZoneEditing?: boolean;
        allowUpdating?: boolean;
    }>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    elementAttrChange: EventEmitter<Record<string, any>>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    endDateExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    endDateTimeZoneExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    endDayHourChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    firstDayOfWeekChange: EventEmitter<FirstDayOfWeek | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    focusStateEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    groupByDateChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    groupsChange: EventEmitter<Array<string>>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    heightChange: EventEmitter<(() => number | string) | number | string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    hintChange: EventEmitter<string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    indicatorUpdateIntervalChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    maxChange: EventEmitter<Date | number | string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    maxAppointmentsPerCellChange: EventEmitter<CellAppointmentsLimit | number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    minChange: EventEmitter<Date | number | string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    noDataTextChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    offsetChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    recurrenceEditModeChange: EventEmitter<RecurrenceEditMode>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    recurrenceExceptionExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    recurrenceRuleExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    remoteFilteringChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    resourceCellTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    resourcesChange: EventEmitter<{
        allowMultiple?: boolean;
        colorExpr?: string;
        dataSource?: Array<any> | DataSource | DataSourceOptions | null | Store | string;
        displayExpr?: ((resource: any) => string) | string;
        fieldExpr?: string;
        label?: string;
        useColorAsDefault?: boolean;
        valueExpr?: Function | string;
    }[]>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    rtlEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    scrollingChange: EventEmitter<dxSchedulerScrolling>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    selectedCellDataChange: EventEmitter<Array<any>>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    shadeUntilCurrentTimeChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    showAllDayPanelChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    showCurrentTimeIndicatorChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    startDateExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    startDateTimeZoneExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    startDayHourChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    tabIndexChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    textExprChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    timeCellTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    timeZoneChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    useDropDownViewSwitcherChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    viewsChange: EventEmitter<Array<Record<string, any> | string> | {
        agendaDuration?: number;
        allDayPanelMode?: AllDayPanelMode;
        appointmentCollectorTemplate?: any;
        appointmentTemplate?: any;
        appointmentTooltipTemplate?: any;
        cellDuration?: number;
        dataCellTemplate?: any;
        dateCellTemplate?: any;
        dropDownAppointmentTemplate?: any;
        endDayHour?: number;
        firstDayOfWeek?: FirstDayOfWeek | undefined;
        groupByDate?: boolean;
        groupOrientation?: Orientation;
        groups?: Array<string>;
        intervalCount?: number;
        maxAppointmentsPerCell?: CellAppointmentsLimit | number;
        name?: string | undefined;
        offset?: number;
        resourceCellTemplate?: any;
        scrolling?: dxSchedulerScrolling;
        startDate?: Date | number | string | undefined;
        startDayHour?: number;
        timeCellTemplate?: any;
        type?: undefined | ViewType;
    }[]>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    visibleChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    widthChange: EventEmitter<(() => number | string) | number | string | undefined>;
    get resourcesChildren(): QueryList<DxiSchedulerResourceComponent>;
    set resourcesChildren(value: QueryList<DxiSchedulerResourceComponent>);
    get viewsChildren(): QueryList<DxiSchedulerViewComponent>;
    set viewsChildren(value: QueryList<DxiSchedulerViewComponent>);
    get resourcesLegacyChildren(): QueryList<DxiResourceComponent>;
    set resourcesLegacyChildren(value: QueryList<DxiResourceComponent>);
    get viewsLegacyChildren(): QueryList<DxiViewComponent>;
    set viewsLegacyChildren(value: QueryList<DxiViewComponent>);
    constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any);
    protected _createInstance(element: any, options: any): dxScheduler;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    setupChanges(prop: string, changes: SimpleChanges): void;
    ngDoCheck(): void;
    _setOption(name: string, value: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxSchedulerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxSchedulerComponent, "dx-scheduler", never, { "accessKey": { "alias": "accessKey"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; "allDayExpr": { "alias": "allDayExpr"; "required": false; }; "allDayPanelMode": { "alias": "allDayPanelMode"; "required": false; }; "appointmentCollectorTemplate": { "alias": "appointmentCollectorTemplate"; "required": false; }; "appointmentDragging": { "alias": "appointmentDragging"; "required": false; }; "appointmentTemplate": { "alias": "appointmentTemplate"; "required": false; }; "appointmentTooltipTemplate": { "alias": "appointmentTooltipTemplate"; "required": false; }; "cellDuration": { "alias": "cellDuration"; "required": false; }; "crossScrollingEnabled": { "alias": "crossScrollingEnabled"; "required": false; }; "currentDate": { "alias": "currentDate"; "required": false; }; "currentView": { "alias": "currentView"; "required": false; }; "customizeDateNavigatorText": { "alias": "customizeDateNavigatorText"; "required": false; }; "dataCellTemplate": { "alias": "dataCellTemplate"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "dateCellTemplate": { "alias": "dateCellTemplate"; "required": false; }; "dateSerializationFormat": { "alias": "dateSerializationFormat"; "required": false; }; "descriptionExpr": { "alias": "descriptionExpr"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dropDownAppointmentTemplate": { "alias": "dropDownAppointmentTemplate"; "required": false; }; "editing": { "alias": "editing"; "required": false; }; "elementAttr": { "alias": "elementAttr"; "required": false; }; "endDateExpr": { "alias": "endDateExpr"; "required": false; }; "endDateTimeZoneExpr": { "alias": "endDateTimeZoneExpr"; "required": false; }; "endDayHour": { "alias": "endDayHour"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "focusStateEnabled": { "alias": "focusStateEnabled"; "required": false; }; "groupByDate": { "alias": "groupByDate"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "height": { "alias": "height"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "indicatorUpdateInterval": { "alias": "indicatorUpdateInterval"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxAppointmentsPerCell": { "alias": "maxAppointmentsPerCell"; "required": false; }; "min": { "alias": "min"; "required": false; }; "noDataText": { "alias": "noDataText"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "recurrenceEditMode": { "alias": "recurrenceEditMode"; "required": false; }; "recurrenceExceptionExpr": { "alias": "recurrenceExceptionExpr"; "required": false; }; "recurrenceRuleExpr": { "alias": "recurrenceRuleExpr"; "required": false; }; "remoteFiltering": { "alias": "remoteFiltering"; "required": false; }; "resourceCellTemplate": { "alias": "resourceCellTemplate"; "required": false; }; "resources": { "alias": "resources"; "required": false; }; "rtlEnabled": { "alias": "rtlEnabled"; "required": false; }; "scrolling": { "alias": "scrolling"; "required": false; }; "selectedCellData": { "alias": "selectedCellData"; "required": false; }; "shadeUntilCurrentTime": { "alias": "shadeUntilCurrentTime"; "required": false; }; "showAllDayPanel": { "alias": "showAllDayPanel"; "required": false; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; }; "startDateExpr": { "alias": "startDateExpr"; "required": false; }; "startDateTimeZoneExpr": { "alias": "startDateTimeZoneExpr"; "required": false; }; "startDayHour": { "alias": "startDayHour"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "textExpr": { "alias": "textExpr"; "required": false; }; "timeCellTemplate": { "alias": "timeCellTemplate"; "required": false; }; "timeZone": { "alias": "timeZone"; "required": false; }; "useDropDownViewSwitcher": { "alias": "useDropDownViewSwitcher"; "required": false; }; "views": { "alias": "views"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "onAppointmentAdded": "onAppointmentAdded"; "onAppointmentAdding": "onAppointmentAdding"; "onAppointmentClick": "onAppointmentClick"; "onAppointmentContextMenu": "onAppointmentContextMenu"; "onAppointmentDblClick": "onAppointmentDblClick"; "onAppointmentDeleted": "onAppointmentDeleted"; "onAppointmentDeleting": "onAppointmentDeleting"; "onAppointmentFormOpening": "onAppointmentFormOpening"; "onAppointmentRendered": "onAppointmentRendered"; "onAppointmentTooltipShowing": "onAppointmentTooltipShowing"; "onAppointmentUpdated": "onAppointmentUpdated"; "onAppointmentUpdating": "onAppointmentUpdating"; "onCellClick": "onCellClick"; "onCellContextMenu": "onCellContextMenu"; "onContentReady": "onContentReady"; "onDisposing": "onDisposing"; "onInitialized": "onInitialized"; "onOptionChanged": "onOptionChanged"; "accessKeyChange": "accessKeyChange"; "adaptivityEnabledChange": "adaptivityEnabledChange"; "allDayExprChange": "allDayExprChange"; "allDayPanelModeChange": "allDayPanelModeChange"; "appointmentCollectorTemplateChange": "appointmentCollectorTemplateChange"; "appointmentDraggingChange": "appointmentDraggingChange"; "appointmentTemplateChange": "appointmentTemplateChange"; "appointmentTooltipTemplateChange": "appointmentTooltipTemplateChange"; "cellDurationChange": "cellDurationChange"; "crossScrollingEnabledChange": "crossScrollingEnabledChange"; "currentDateChange": "currentDateChange"; "currentViewChange": "currentViewChange"; "customizeDateNavigatorTextChange": "customizeDateNavigatorTextChange"; "dataCellTemplateChange": "dataCellTemplateChange"; "dataSourceChange": "dataSourceChange"; "dateCellTemplateChange": "dateCellTemplateChange"; "dateSerializationFormatChange": "dateSerializationFormatChange"; "descriptionExprChange": "descriptionExprChange"; "disabledChange": "disabledChange"; "dropDownAppointmentTemplateChange": "dropDownAppointmentTemplateChange"; "editingChange": "editingChange"; "elementAttrChange": "elementAttrChange"; "endDateExprChange": "endDateExprChange"; "endDateTimeZoneExprChange": "endDateTimeZoneExprChange"; "endDayHourChange": "endDayHourChange"; "firstDayOfWeekChange": "firstDayOfWeekChange"; "focusStateEnabledChange": "focusStateEnabledChange"; "groupByDateChange": "groupByDateChange"; "groupsChange": "groupsChange"; "heightChange": "heightChange"; "hintChange": "hintChange"; "indicatorUpdateIntervalChange": "indicatorUpdateIntervalChange"; "maxChange": "maxChange"; "maxAppointmentsPerCellChange": "maxAppointmentsPerCellChange"; "minChange": "minChange"; "noDataTextChange": "noDataTextChange"; "offsetChange": "offsetChange"; "recurrenceEditModeChange": "recurrenceEditModeChange"; "recurrenceExceptionExprChange": "recurrenceExceptionExprChange"; "recurrenceRuleExprChange": "recurrenceRuleExprChange"; "remoteFilteringChange": "remoteFilteringChange"; "resourceCellTemplateChange": "resourceCellTemplateChange"; "resourcesChange": "resourcesChange"; "rtlEnabledChange": "rtlEnabledChange"; "scrollingChange": "scrollingChange"; "selectedCellDataChange": "selectedCellDataChange"; "shadeUntilCurrentTimeChange": "shadeUntilCurrentTimeChange"; "showAllDayPanelChange": "showAllDayPanelChange"; "showCurrentTimeIndicatorChange": "showCurrentTimeIndicatorChange"; "startDateExprChange": "startDateExprChange"; "startDateTimeZoneExprChange": "startDateTimeZoneExprChange"; "startDayHourChange": "startDayHourChange"; "tabIndexChange": "tabIndexChange"; "textExprChange": "textExprChange"; "timeCellTemplateChange": "timeCellTemplateChange"; "timeZoneChange": "timeZoneChange"; "useDropDownViewSwitcherChange": "useDropDownViewSwitcherChange"; "viewsChange": "viewsChange"; "visibleChange": "visibleChange"; "widthChange": "widthChange"; }, ["resourcesChildren", "viewsChildren", "resourcesLegacyChildren", "viewsLegacyChildren"], never, false, never>;
}
export declare class DxSchedulerModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DxSchedulerModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DxSchedulerModule, [typeof DxSchedulerComponent], [typeof i1.DxoAppointmentDraggingModule, typeof i1.DxoEditingModule, typeof i1.DxiResourceModule, typeof i1.DxoScrollingModule, typeof i1.DxiViewModule, typeof i2.DxoSchedulerAppointmentDraggingModule, typeof i2.DxoSchedulerEditingModule, typeof i2.DxiSchedulerResourceModule, typeof i2.DxoSchedulerScrollingModule, typeof i2.DxiSchedulerViewModule, typeof i3.DxIntegrationModule, typeof i3.DxTemplateModule], [typeof DxSchedulerComponent, typeof i1.DxoAppointmentDraggingModule, typeof i1.DxoEditingModule, typeof i1.DxiResourceModule, typeof i1.DxoScrollingModule, typeof i1.DxiViewModule, typeof i2.DxoSchedulerAppointmentDraggingModule, typeof i2.DxoSchedulerEditingModule, typeof i2.DxiSchedulerResourceModule, typeof i2.DxoSchedulerScrollingModule, typeof i2.DxiSchedulerViewModule, typeof i3.DxTemplateModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DxSchedulerModule>;
}
export { DxSchedulerTypes };
