import { OnInit, OnChanges, EventEmitter, SimpleChanges, TemplateRef } from '@angular/core';
import { Slides } from 'ionic-angular';
import { ICalendarComponent, IEvent, IMonthView, IMonthViewRow, ITimeSelected, IRange, CalendarMode, IDateFormatter } from './calendar';
import { CalendarService } from './calendar.service';
import { IMonthViewDisplayEventTemplateContext } from "./calendar";
export declare class MonthViewComponent implements ICalendarComponent, OnInit, OnChanges {
    private calendarService;
    slider: Slides;
    monthviewDisplayEventTemplate: TemplateRef<IMonthViewDisplayEventTemplateContext>;
    monthviewInactiveDisplayEventTemplate: TemplateRef<IMonthViewDisplayEventTemplateContext>;
    monthviewEventDetailTemplate: TemplateRef<IMonthViewDisplayEventTemplateContext>;
    formatDay: string;
    formatDayHeader: string;
    formatMonthTitle: string;
    eventSource: IEvent[];
    startingDayMonth: number;
    showEventDetail: boolean;
    noEventsLabel: string;
    autoSelect: boolean;
    markDisabled: (date: Date) => boolean;
    locale: string;
    dateFormatter: IDateFormatter;
    dir: string;
    lockSwipeToPrev: boolean;
    lockSwipes: boolean;
    spaceBetween: number;
    onRangeChanged: EventEmitter<IRange>;
    onEventSelected: EventEmitter<IEvent>;
    onTimeSelected: EventEmitter<ITimeSelected>;
    onTitleChanged: EventEmitter<string>;
    views: IMonthView[];
    currentViewIndex: number;
    selectedDate: IMonthViewRow;
    range: IRange;
    mode: CalendarMode;
    direction: number;
    private moveOnSelected;
    private inited;
    private callbackOnInit;
    private currentDateChangedFromParentSubscription;
    private eventSourceChangedSubscription;
    private formatDayLabel;
    private formatDayHeaderLabel;
    private formatTitle;
    constructor(calendarService: CalendarService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    onSlideChanged(): void;
    move(direction: number): void;
    createDateObject(date: Date): IMonthViewRow;
    static getDates(startDate: Date, n: number): Date[];
    getViewData(startTime: Date): IMonthView;
    getHighlightClass(date: IMonthViewRow): string;
    getRange(currentDate: Date): IRange;
    onDataLoaded(): void;
    refreshView(): void;
    getTitle(): string;
    private compareEvent(event1, event2);
    select(viewDate: IMonthViewRow): void;
    slideView(direction: number): void;
    updateCurrentView(currentViewStartDate: Date, view: IMonthView): void;
    eventSelected(event: IEvent): void;
}
