/*!
 * devextreme-vue
 * Version: 19.2.6
 * Build date: Thu Jan 30 2020
 *
 * Copyright (c) 2012 - 2020 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-vue
 */

import * as VueType from "vue";
import Scheduler, { IOptions } from "devextreme/ui/scheduler";
declare type AccessibleOptions = Pick<IOptions, "accessKey" | "adaptivityEnabled" | "allDayExpr" | "appointmentCollectorTemplate" | "appointmentDragging" | "appointmentTemplate" | "appointmentTooltipTemplate" | "cellDuration" | "crossScrollingEnabled" | "currentDate" | "currentView" | "customizeDateNavigatorText" | "dataCellTemplate" | "dataSource" | "dateCellTemplate" | "dateSerializationFormat" | "descriptionExpr" | "disabled" | "editing" | "elementAttr" | "endDateExpr" | "endDateTimeZoneExpr" | "endDayHour" | "firstDayOfWeek" | "focusStateEnabled" | "groupByDate" | "groups" | "height" | "hint" | "indicatorUpdateInterval" | "max" | "maxAppointmentsPerCell" | "min" | "noDataText" | "onAppointmentAdded" | "onAppointmentAdding" | "onAppointmentClick" | "onAppointmentContextMenu" | "onAppointmentDblClick" | "onAppointmentDeleted" | "onAppointmentDeleting" | "onAppointmentFormOpening" | "onAppointmentRendered" | "onAppointmentUpdated" | "onAppointmentUpdating" | "onCellClick" | "onCellContextMenu" | "onContentReady" | "onDisposing" | "onInitialized" | "onOptionChanged" | "recurrenceEditMode" | "recurrenceExceptionExpr" | "recurrenceRuleExpr" | "remoteFiltering" | "resourceCellTemplate" | "resources" | "rtlEnabled" | "selectedCellData" | "shadeUntilCurrentTime" | "showAllDayPanel" | "showCurrentTimeIndicator" | "startDateExpr" | "startDateTimeZoneExpr" | "startDayHour" | "tabIndex" | "textExpr" | "timeCellTemplate" | "timeZone" | "useDropDownViewSwitcher" | "views" | "visible" | "width">;
interface DxScheduler extends AccessibleOptions {
    readonly instance?: Scheduler;
}
declare const DxScheduler: VueType.VueConstructor<{
    instance: Scheduler;
} & {
    accessKey: string;
    adaptivityEnabled: boolean;
    allDayExpr: string;
    appointmentCollectorTemplate: unknown;
    appointmentDragging: any;
    appointmentTemplate: unknown;
    appointmentTooltipTemplate: unknown;
    cellDuration: number;
    crossScrollingEnabled: boolean;
    currentDate: unknown;
    currentView: string;
    customizeDateNavigatorText: Function;
    dataCellTemplate: unknown;
    dataSource: any;
    dateCellTemplate: unknown;
    dateSerializationFormat: string;
    descriptionExpr: string;
    disabled: boolean;
    editing: any;
    elementAttr: any;
    endDateExpr: string;
    endDateTimeZoneExpr: string;
    endDayHour: number;
    firstDayOfWeek: number;
    focusStateEnabled: boolean;
    groupByDate: boolean;
    groups: unknown[];
    height: string | number | Function;
    hint: string;
    indicatorUpdateInterval: number;
    max: unknown;
    maxAppointmentsPerCell: string | number;
    min: unknown;
    noDataText: string;
    onAppointmentAdded: Function;
    onAppointmentAdding: Function;
    onAppointmentClick: TimerHandler;
    onAppointmentContextMenu: TimerHandler;
    onAppointmentDblClick: TimerHandler;
    onAppointmentDeleted: Function;
    onAppointmentDeleting: Function;
    onAppointmentFormOpening: Function;
    onAppointmentRendered: Function;
    onAppointmentUpdated: Function;
    onAppointmentUpdating: Function;
    onCellClick: TimerHandler;
    onCellContextMenu: TimerHandler;
    onContentReady: Function;
    onDisposing: Function;
    onInitialized: Function;
    onOptionChanged: Function;
    recurrenceEditMode: string;
    recurrenceExceptionExpr: string;
    recurrenceRuleExpr: string;
    remoteFiltering: boolean;
    resourceCellTemplate: unknown;
    resources: unknown[];
    rtlEnabled: boolean;
    selectedCellData: unknown[];
    shadeUntilCurrentTime: boolean;
    showAllDayPanel: boolean;
    showCurrentTimeIndicator: boolean;
    startDateExpr: string;
    startDateTimeZoneExpr: string;
    startDayHour: number;
    tabIndex: number;
    textExpr: string;
    timeCellTemplate: unknown;
    timeZone: string;
    useDropDownViewSwitcher: boolean;
    views: unknown[];
    visible: boolean;
    width: string | number | Function;
} & VueType.default>;
declare const DxAppointmentDragging: any;
declare const DxEditing: any;
declare const DxResource: any;
declare const DxView: any;
export default DxScheduler;
export { DxScheduler, DxAppointmentDragging, DxEditing, DxResource, DxView };
