import { EventEmitter } from '@angular/core';
/** calendar show mode */
export declare type CalendarMode = 'calendar' | 'year' | 'month';
/**
 * Calendar Component
 */
export declare class CalendarComponent {
    /** calendar date change event, emit the selected date */
    select: EventEmitter<Date>;
    /**
     * calendar selected value
     * @default new Date()
     */
    value: any;
    private _value;
    /**
     * whether the calendar enable multiple selection
     * @default false
     */
    multiple: boolean;
    /**
     * calendar selection range start date
     */
    startDate: Date | null;
    /**
     * calendar selection range end date
     */
    endDate: Date | null;
    /**
     * whether the calendar is disabled
     * @default false
     */
    disabled: boolean;
    /**
     * the strategy function which used to check weather the date is disabled
     */
    disabledStrategy: (date: Date) => boolean;
    /**
     * calendar actived month date value
     * @docs-private
     */
    month: Date;
    /**
     * month array
     * @docs-private
     */
    monthArray: number[][];
    /**
     * year array
     * @docs-private
     */
    yearArray: number[][];
    /**
     * currently calendar show mode, default 'calendar'
     * @docs-private
     */
    mode: CalendarMode;
    /**
     * in month select mode, reference the temp year
     * @docs-private
     */
    tempYear: number;
    constructor();
    /**
     * the text title show in the year or month mode
     * @readonly
     * @docs-private
     */
    readonly yearMonthText: string;
    /**
     * get the current decade years the year belong to
     * @param {Date} date - date
     * @docs-private
     */
    getCurrentDecade(date: Date): number[][];
    onShowYearPanel(): void;
    onShowMonthPanel(): void;
    onReturnCalendar(): void;
    /**
     * last event
     * @docs-private
     */
    onLast(): void;
    /**
     * next event
     * @docs-private
     */
    onNext(): void;
    /**
     * change year
     * @param {number} year - year
     * @docs-private
     */
    onSelectYear(year: number): void;
    /**
     * change month
     * @param {number} month - month
     * @docs-private
     */
    onSelectMonth(month: number): void;
    /**
     * on select date
     * @param {Date} d - selected date
     * @docs-private
     */
    onSelectDate(d: Date): void;
    isCurrentYear(year: number): boolean;
    isCurrentMonth(month: number): boolean;
}
