diff --git a/fullCalendar/fullCalendar-tests.ts b/fullCalendar/fullCalendar-tests.ts index a961512074..e5a613946d 100644 --- a/fullCalendar/fullCalendar-tests.ts +++ b/fullCalendar/fullCalendar-tests.ts @@ -1,4 +1,4 @@ -/// +/// /// /// diff --git a/fullCalendar/fullCalendar.d.ts b/fullCalendar/fullCalendar.d.ts deleted file mode 100644 index eb578e0a69..0000000000 --- a/fullCalendar/fullCalendar.d.ts +++ /dev/null @@ -1,431 +0,0 @@ -// Type definitions for FullCalendar 1.6.1 -// Project: http://arshaw.com/fullcalendar/ -// Definitions by: Neil Stalker , Marcelo Camargo -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -/// -/// - -declare namespace FullCalendar { - export interface Calendar { - - /** - * Formats a Date object into a string. - */ - formatDate(date: Date, format: string, options?: Options): string; - - /** - * Formats a date range (two Date objects) into a string. - */ - formatDates(date1: Date, date2: Date, format: string, options?: Options): string; - - /** - * Parses a string into a Date object. - */ - parseDate(dateString: string, ignoreTimezone?: boolean): Date; - - /** - * Parses an ISO8601 string into a Date object. - */ - parseISO8601(dateString: string, ignoreTimezone?: boolean): Date; - - /** - * Gets the version of Fullcalendar - */ - version: string; - } - - export interface BusinessHours { - start: moment.Duration; - end: moment.Duration; - dow: Array; - } - - export interface Timespan { - start: moment.Moment; - end: moment.Moment; - } - - export interface Options extends AgendaOptions, EventDraggingResizingOptions, DroppingExternalElementsOptions, SelectionOptions { - - // General display - http://arshaw.com/fullcalendar/docs/display/ - - header?: { - left: string; - center: string; - right: string; - } - theme?: boolean - buttonIcons?: { - prev: string; - next: string; - } - firstDay?: number; - isRTL?: boolean; - weekends?: boolean; - hiddenDays?: number[]; - weekMode?: string; - weekNumbers?: boolean; - weekNumberCalculation?: any; // String/Function - businessHours?: boolean | BusinessHours; - height?: number; - contentHeight?: number; - aspectRatio?: number; - handleWindowResize?: boolean; - viewRender?: (view: ViewObject, element: JQuery) => void; - viewDestroy?: (view: ViewObject, element: JQuery) => void; - dayRender?: (date: Date, cell: HTMLTableDataCellElement) => void; - windowResize?: (view: ViewObject) => void; - - // Timezone - timezone?: string | boolean; - now?: moment.Moment | Date | string | (() => moment.Moment) - - // Views - http://arshaw.com/fullcalendar/docs/views/ - - defaultView?: string; - - // Current Date - http://arshaw.com/fullcalendar/docs/current_date/ - - defaultDate?: moment.Moment | Date | string; - year?: number; - month?: number; - date?: number; - - // Text/Time Customization - http://arshaw.com/fullcalendar/docs/text/ - - timeFormat?: any; // String/ViewOptionHash - columnFormat?: any; // String/ViewOptionHash - titleFormat?: any; // String/ViewOptionHash - - buttonText?: ButtonTextObject; - monthNames?: Array; - monthNamesShort?: Array; - dayNames?: Array; - dayNamesShort?: Array; - weekNumberTitle?: string; - - // Clicking & Hovering - http://arshaw.com/fullcalendar/docs/mouse/ - - dayClick?: (date: Date, allDay: boolean, jsEvent: MouseEvent, view: ViewObject) => void; - eventClick?: (event: EventObject, jsEvent: MouseEvent, view: ViewObject) => any; // return type boolean or void - eventMouseover?: (event: EventObject, jsEvent: MouseEvent, view: ViewObject) => void; - eventMouseout?: (event: EventObject, jsEvent: MouseEvent, view: ViewObject) => void; - - // Event Data - http://arshaw.com/fullcalendar/docs/event_data/ - - /** - * This has one of the following types: - * - * - EventObject[] - * - string (JSON feed) - * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void; - */ - events?: any; - - /** - * An array, each element being one of the following types: - * - * - EventSource - * - EventObject[] - * - string (JSON feed) - * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void; - */ - eventSources?: any[]; - - allDayDefault?: boolean; - ignoreTimezone?: boolean; - startParam?: string; - endParam?: string - lazyFetching?: boolean; - eventDataTransform?: (eventData: any) => EventObject; - loading?: (isLoading: boolean, view: ViewObject) => void; - - // Event Rendering - http://arshaw.com/fullcalendar/docs/event_rendering/ - - eventColor?: string; - eventBackgroundColor?: string; - eventBorderColor?: string; - eventTextColor?: string; - eventRender?: (event: EventObject, element: HTMLDivElement, view: ViewObject) => void; - eventAfterRender?: (event: EventObject, element: HTMLDivElement, view: ViewObject) => void; - eventAfterAllRender?: (view: ViewObject) => void; - eventDestroy?: (event: EventObject, element: JQuery, view: ViewObject) => void; - - - } - - export interface ViewOptionHash { - month?: any; - week?: any; - day?: any; - agenda?: any; - agendaDay?: any; - agendaWeek?: any; - basic?: any; - basicDay?: any; - basicWeek?: any; - ''?: any; - } - - /** - * Agenda Options - http://arshaw.com/fullcalendar/docs/agenda/ - */ - export interface AgendaOptions { - allDaySlot?: boolean; - allDayText?: string; - slotDuration?: moment.Duration; - slotLabelFormat?: string; - slotLabelInterval?: moment.Duration; - snapDuration?: moment.Duration; - scrollTime?: moment.Duration; - minTime?: moment.Duration; // Integer/String - maxTime?: moment.Duration; // Integer/String - slotEventOverlap?: boolean; - } - - /* - * Event Dragging & Resizing - */ - export interface EventDraggingResizingOptions { - editable?: boolean; - eventStartEditable?: boolean; - eventDurationEditable?: boolean; - dragRevertDuration?: number; // integer, milliseconds - dragOpacity?: number; // float - dragScroll?: boolean; - eventOverlap?: boolean | ((stillEvent: EventObject, movingEvent: EventObject) => boolean); - eventConstraint?: BusinessHours | Timespan; - eventDragStart?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; - eventDragStop?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; - eventDrop?: (event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject) => void; - eventResizeStart?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; - eventResizeStop?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; - eventResize?: (event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject) => void; - } - /* - * Selection - http://arshaw.com/fullcalendar/docs/selection/ - */ - export interface SelectionOptions { - selectable?: boolean; - selectHelper?: boolean | ((start: moment.Moment, end: moment.Moment) => HTMLElement); - unselectAuto?: boolean; - unselectCancel?: string; - selectOverlap?: boolean | ((event: EventObject) => boolean); - selectConstraint?: Timespan | BusinessHours; - select?: (start: moment.Moment, end: moment.Moment, jsEvent: MouseEvent, view: ViewObject, resource?: any) => void; - unselect?: (view: ViewObject, jsEvent: Event) => void; - } - - export interface DroppingExternalElementsOptions { - droppable?: boolean; - dropAccept?: string | ((draggable: any) => boolean); - drop?: (date: moment.Moment, jsEvent: MouseEvent, ui: any) => void; - eventReceive?: (event: EventObject) => void - } - - export interface ButtonTextObject { - prev?: string; - next?: string; - prevYear?: string; - nextYear?: string; - today?: string; - month?: string; - week?: string; - day?: string; - } - - export interface EventObject extends Timespan { - id?: any // String/number - title: string; - allDay?: boolean; - url?: string; - className?: any; // string/Array - editable?: boolean; - source?: EventSource; - color?: string; - backgroundColor?: string; - borderColor?: string; - textColor?: string; - rendering?: string; - } - - export interface ViewObject extends Timespan { - name: string; - title: string; - intervalStart: moment.Moment; - intervalEnd: moment.Moment; - } - - export interface EventSource extends JQueryAjaxSettings { - - /** - * This has one of the following types: - * - * - EventObject[] - * - string (JSON feed) - * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void; - */ - events?: any; - - color?: string; - backgroundColor?: string; - borderColor?: string; - textColor?: string; - className?: any; // string/Array - editable?: boolean; - allDayDefault?: boolean; - ignoreTimezone?: boolean; - eventTransform?: any; - startParam?: string; - endParam?: string - } - -} - -interface JQuery { - - /** - * Get/Set option value - */ - fullCalendar(method: 'option', option: string, value?: any): void; - - /** - * Immediately forces the calendar to render and/or readjusts its size. - */ - fullCalendar(method: 'render'): void; - - /** - * Restores the element to the state before FullCalendar was initialized. - */ - fullCalendar(method: 'destroy'): void; - - /** - * Returns the View Object for the current view. - */ - fullCalendar(method: 'getView'): FullCalendar.ViewObject; - - /** - * Immediately switches to a different view. - */ - fullCalendar(method: 'changeView', viewName: string): void; - - /** - * Moves the calendar one step back (either by a month, week, or day). - */ - fullCalendar(method: 'prev'): void; - - /** - * Moves the calendar one step forward (either by a month, week, or day). - */ - fullCalendar(method: 'next'): void; - - /** - * Moves the calendar back one year. - */ - fullCalendar(method: 'prevYear'): void; - - /** - * Moves the calendar forward one year. - */ - fullCalendar(method: 'nextYear'): void; - - /** - * Moves the calendar to the current date. - */ - fullCalendar(method: 'today'): void; - - /** - * Moves the calendar to an arbitrary year/month/date. - */ - fullCalendar(method: 'gotoDate', year: number, month?: number, date?: number): void; - - /** - * Moves the calendar to an arbitrary date. - */ - fullCalendar(method: 'gotoDate', date: Date | string): void; - - /** - * Moves the calendar forward/backward an arbitrary amount of time. - */ - fullCalendar(method: 'incrementDate', year: number, month?: number, date?: number): void; - - /** - * Returns a Date object for the current date of the calendar. - */ - fullCalendar(method: 'getDate'): Date; - - /** - * A method for programmatically selecting a period of time. - */ - fullCalendar(method: 'select', startDate: Date, endDate: Date, allDay: boolean): void; - - /** - * A method for programmatically clearing the current selection. - */ - fullCalendar(method: 'unselect'): void; - - /** - * Reports changes to an event and renders them on the calendar. - */ - fullCalendar(method: 'updateEvent', event: FullCalendar.EventObject): void; - - /** - * Retrieves events that FullCalendar has in memory. - */ - fullCalendar(method: 'clientEvents', idOrfilter?: any): Array; - - /** - * Retrieves events that FullCalendar has in memory. - */ - fullCalendar(method: 'clientEvents', idOrfilter?: (e: FullCalendar.EventObject) => boolean): Array; - - /** - * Removes events from the calendar. - */ - fullCalendar(method: 'removeEvents', idOrfilter?: any): void; - - /** - * Removes events from the calendar. - */ - fullCalendar(method: 'removeEvents', idOrfilter?: (e: FullCalendar.EventObject) => boolean): void; - - /** - * Refetches events from all sources and rerenders them on the screen. - */ - fullCalendar(method: 'refetchEvents'): void; - - /** - * Dynamically adds an event source. - */ - fullCalendar(method: 'addEventSource', source: any): void; - - /** - * Dynamically removes an event source. - */ - fullCalendar(method: 'removeEventSource', source: any): void; - - /** - * Renders a new event on the calendar. - */ - fullCalendar(method: 'renderEvent', event: FullCalendar.EventObject, stick?: boolean): void; - - /** - * Rerenders all events on the calendar. - */ - fullCalendar(method: 'rerenderEvents'): void; - - /** - * Create calendar object - */ - fullCalendar(options: FullCalendar.Options): JQuery; - - /** - * Generic method function - */ - fullCalendar(method: string, arg1: any, arg2: any, arg3: any): void; -} - -interface JQueryStatic { - fullCalendar: FullCalendar.Calendar; -} diff --git a/fullCalendar/index.d.ts b/fullCalendar/index.d.ts new file mode 100644 index 0000000000..33904777fe --- /dev/null +++ b/fullCalendar/index.d.ts @@ -0,0 +1,433 @@ +// Type definitions for FullCalendar 1.6.1 +// Project: http://arshaw.com/fullcalendar/ +// Definitions by: Neil Stalker , Marcelo Camargo +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +import * as moment from '../moment'; + +export as namespace FC; + +export interface Calendar { + + /** + * Formats a Date object into a string. + */ + formatDate(date: Date, format: string, options?: Options): string; + + /** + * Formats a date range (two Date objects) into a string. + */ + formatDates(date1: Date, date2: Date, format: string, options?: Options): string; + + /** + * Parses a string into a Date object. + */ + parseDate(dateString: string, ignoreTimezone?: boolean): Date; + + /** + * Parses an ISO8601 string into a Date object. + */ + parseISO8601(dateString: string, ignoreTimezone?: boolean): Date; + + /** + * Gets the version of Fullcalendar + */ + version: string; +} + +export interface BusinessHours { + start: moment.Duration; + end: moment.Duration; + dow: Array; +} + +export interface Timespan { + start: moment.Moment; + end: moment.Moment; +} + +export interface Options extends AgendaOptions, EventDraggingResizingOptions, DroppingExternalElementsOptions, SelectionOptions { + + // General display - http://arshaw.com/fullcalendar/docs/display/ + + header?: { + left: string; + center: string; + right: string; + } + theme?: boolean + buttonIcons?: { + prev: string; + next: string; + } + firstDay?: number; + isRTL?: boolean; + weekends?: boolean; + hiddenDays?: number[]; + weekMode?: string; + weekNumbers?: boolean; + weekNumberCalculation?: any; // String/Function + businessHours?: boolean | BusinessHours; + height?: number; + contentHeight?: number; + aspectRatio?: number; + handleWindowResize?: boolean; + viewRender?: (view: ViewObject, element: JQuery) => void; + viewDestroy?: (view: ViewObject, element: JQuery) => void; + dayRender?: (date: Date, cell: HTMLTableDataCellElement) => void; + windowResize?: (view: ViewObject) => void; + + // Timezone + timezone?: string | boolean; + now?: moment.Moment | Date | string | (() => moment.Moment) + + // Views - http://arshaw.com/fullcalendar/docs/views/ + + defaultView?: string; + + // Current Date - http://arshaw.com/fullcalendar/docs/current_date/ + + defaultDate?: moment.Moment | Date | string; + year?: number; + month?: number; + date?: number; + + // Text/Time Customization - http://arshaw.com/fullcalendar/docs/text/ + + timeFormat?: any; // String/ViewOptionHash + columnFormat?: any; // String/ViewOptionHash + titleFormat?: any; // String/ViewOptionHash + + buttonText?: ButtonTextObject; + monthNames?: Array; + monthNamesShort?: Array; + dayNames?: Array; + dayNamesShort?: Array; + weekNumberTitle?: string; + + // Clicking & Hovering - http://arshaw.com/fullcalendar/docs/mouse/ + + dayClick?: (date: Date, allDay: boolean, jsEvent: MouseEvent, view: ViewObject) => void; + eventClick?: (event: EventObject, jsEvent: MouseEvent, view: ViewObject) => any; // return type boolean or void + eventMouseover?: (event: EventObject, jsEvent: MouseEvent, view: ViewObject) => void; + eventMouseout?: (event: EventObject, jsEvent: MouseEvent, view: ViewObject) => void; + + // Event Data - http://arshaw.com/fullcalendar/docs/event_data/ + + /** + * This has one of the following types: + * + * - EventObject[] + * - string (JSON feed) + * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void; + */ + events?: any; + + /** + * An array, each element being one of the following types: + * + * - EventSource + * - EventObject[] + * - string (JSON feed) + * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void; + */ + eventSources?: any[]; + + allDayDefault?: boolean; + ignoreTimezone?: boolean; + startParam?: string; + endParam?: string + lazyFetching?: boolean; + eventDataTransform?: (eventData: any) => EventObject; + loading?: (isLoading: boolean, view: ViewObject) => void; + + // Event Rendering - http://arshaw.com/fullcalendar/docs/event_rendering/ + + eventColor?: string; + eventBackgroundColor?: string; + eventBorderColor?: string; + eventTextColor?: string; + eventRender?: (event: EventObject, element: HTMLDivElement, view: ViewObject) => void; + eventAfterRender?: (event: EventObject, element: HTMLDivElement, view: ViewObject) => void; + eventAfterAllRender?: (view: ViewObject) => void; + eventDestroy?: (event: EventObject, element: JQuery, view: ViewObject) => void; + + +} + +export interface ViewOptionHash { + month?: any; + week?: any; + day?: any; + agenda?: any; + agendaDay?: any; + agendaWeek?: any; + basic?: any; + basicDay?: any; + basicWeek?: any; + ''?: any; +} + +/** + * Agenda Options - http://arshaw.com/fullcalendar/docs/agenda/ + */ +export interface AgendaOptions { + allDaySlot?: boolean; + allDayText?: string; + slotDuration?: moment.Duration; + slotLabelFormat?: string; + slotLabelInterval?: moment.Duration; + snapDuration?: moment.Duration; + scrollTime?: moment.Duration; + minTime?: moment.Duration; // Integer/String + maxTime?: moment.Duration; // Integer/String + slotEventOverlap?: boolean; +} + +/* +* Event Dragging & Resizing +*/ +export interface EventDraggingResizingOptions { + editable?: boolean; + eventStartEditable?: boolean; + eventDurationEditable?: boolean; + dragRevertDuration?: number; // integer, milliseconds + dragOpacity?: number; // float + dragScroll?: boolean; + eventOverlap?: boolean | ((stillEvent: EventObject, movingEvent: EventObject) => boolean); + eventConstraint?: BusinessHours | Timespan; + eventDragStart?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; + eventDragStop?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; + eventDrop?: (event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject) => void; + eventResizeStart?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; + eventResizeStop?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject) => void; + eventResize?: (event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject) => void; +} +/* +* Selection - http://arshaw.com/fullcalendar/docs/selection/ +*/ +export interface SelectionOptions { + selectable?: boolean; + selectHelper?: boolean | ((start: moment.Moment, end: moment.Moment) => HTMLElement); + unselectAuto?: boolean; + unselectCancel?: string; + selectOverlap?: boolean | ((event: EventObject) => boolean); + selectConstraint?: Timespan | BusinessHours; + select?: (start: moment.Moment, end: moment.Moment, jsEvent: MouseEvent, view: ViewObject, resource?: any) => void; + unselect?: (view: ViewObject, jsEvent: Event) => void; +} + +export interface DroppingExternalElementsOptions { + droppable?: boolean; + dropAccept?: string | ((draggable: any) => boolean); + drop?: (date: moment.Moment, jsEvent: MouseEvent, ui: any) => void; + eventReceive?: (event: EventObject) => void +} + +export interface ButtonTextObject { + prev?: string; + next?: string; + prevYear?: string; + nextYear?: string; + today?: string; + month?: string; + week?: string; + day?: string; +} + +export interface EventObject extends Timespan { + id?: any // String/number + title: string; + allDay?: boolean; + url?: string; + className?: any; // string/Array + editable?: boolean; + source?: EventSource; + color?: string; + backgroundColor?: string; + borderColor?: string; + textColor?: string; + rendering?: string; +} + +export interface ViewObject extends Timespan { + name: string; + title: string; + intervalStart: moment.Moment; + intervalEnd: moment.Moment; +} + +export interface EventSource extends JQueryAjaxSettings { + + /** + * This has one of the following types: + * + * - EventObject[] + * - string (JSON feed) + * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void; + */ + events?: any; + + color?: string; + backgroundColor?: string; + borderColor?: string; + textColor?: string; + className?: any; // string/Array + editable?: boolean; + allDayDefault?: boolean; + ignoreTimezone?: boolean; + eventTransform?: any; + startParam?: string; + endParam?: string +} + +declare global { + interface JQuery { + + /** + * Get/Set option value + */ + fullCalendar(method: 'option', option: string, value?: any): void; + + /** + * Immediately forces the calendar to render and/or readjusts its size. + */ + fullCalendar(method: 'render'): void; + + /** + * Restores the element to the state before FullCalendar was initialized. + */ + fullCalendar(method: 'destroy'): void; + + /** + * Returns the View Object for the current view. + */ + fullCalendar(method: 'getView'): ViewObject; + + /** + * Immediately switches to a different view. + */ + fullCalendar(method: 'changeView', viewName: string): void; + + /** + * Moves the calendar one step back (either by a month, week, or day). + */ + fullCalendar(method: 'prev'): void; + + /** + * Moves the calendar one step forward (either by a month, week, or day). + */ + fullCalendar(method: 'next'): void; + + /** + * Moves the calendar back one year. + */ + fullCalendar(method: 'prevYear'): void; + + /** + * Moves the calendar forward one year. + */ + fullCalendar(method: 'nextYear'): void; + + /** + * Moves the calendar to the current date. + */ + fullCalendar(method: 'today'): void; + + /** + * Moves the calendar to an arbitrary year/month/date. + */ + fullCalendar(method: 'gotoDate', year: number, month?: number, date?: number): void; + + /** + * Moves the calendar to an arbitrary date. + */ + fullCalendar(method: 'gotoDate', date: Date | string): void; + + /** + * Moves the calendar forward/backward an arbitrary amount of time. + */ + fullCalendar(method: 'incrementDate', year: number, month?: number, date?: number): void; + + /** + * Returns a Date object for the current date of the calendar. + */ + fullCalendar(method: 'getDate'): Date; + + /** + * A method for programmatically selecting a period of time. + */ + fullCalendar(method: 'select', startDate: Date, endDate: Date, allDay: boolean): void; + + /** + * A method for programmatically clearing the current selection. + */ + fullCalendar(method: 'unselect'): void; + + /** + * Reports changes to an event and renders them on the calendar. + */ + fullCalendar(method: 'updateEvent', event: EventObject): void; + + /** + * Retrieves events that FullCalendar has in memory. + */ + fullCalendar(method: 'clientEvents', idOrfilter?: any): Array; + + /** + * Retrieves events that FullCalendar has in memory. + */ + fullCalendar(method: 'clientEvents', idOrfilter?: (e: EventObject) => boolean): Array; + + /** + * Removes events from the calendar. + */ + fullCalendar(method: 'removeEvents', idOrfilter?: any): void; + + /** + * Removes events from the calendar. + */ + fullCalendar(method: 'removeEvents', idOrfilter?: (e: EventObject) => boolean): void; + + /** + * Refetches events from all sources and rerenders them on the screen. + */ + fullCalendar(method: 'refetchEvents'): void; + + /** + * Dynamically adds an event source. + */ + fullCalendar(method: 'addEventSource', source: any): void; + + /** + * Dynamically removes an event source. + */ + fullCalendar(method: 'removeEventSource', source: any): void; + + /** + * Renders a new event on the calendar. + */ + fullCalendar(method: 'renderEvent', event: EventObject, stick?: boolean): void; + + /** + * Rerenders all events on the calendar. + */ + fullCalendar(method: 'rerenderEvents'): void; + + /** + * Create calendar object + */ + fullCalendar(options: Options): JQuery; + + /** + * Generic method function + */ + fullCalendar(method: string, arg1: any, arg2: any, arg3: any): void; + } + + interface JQueryStatic { + fullCalendar: Calendar; + } +}