import { EventEmitter } from '../../../stencil.core';
import { CalendarPackage, DateRangeValidationParams, DayWithMetadata } from '../../../types/types';
import { DatePickerService } from '../date-picker.service';
export declare class Calendar {
    private weekdays;
    private months;
    element: HTMLAnjCalendarElement;
    controlsEl: HTMLElement;
    days: DayWithMetadata[];
    displayYear: string;
    displayDate: string;
    package: CalendarPackage;
    month: number;
    year: number;
    /**
     * The adapter to use for i18n, l10n needs
     */
    adapter: DatePickerService;
    /**
     * The current value
     */
    date: Date;
    onDateChange(): void;
    /**
     * If true, display a calendar view, otherwise show yearly
     */
    monthMode: boolean;
    /**
     * Min and max selectable days
     */
    rangeParams: DateRangeValidationParams;
    anjCalendarDaySelect: EventEmitter<Date>;
    componentWillLoad(): void;
    setHeaderData(): void;
    displayActiveDay({ detail }: CustomEvent): void;
    toggleMonthMode({ detail }: CustomEvent): void;
    updateYear({ detail }: CustomEvent): void;
    selectMonth({ detail }: CustomEvent): void;
    updateMonth(event?: CustomEvent | number): void;
    selectDay({ detail }: CustomEvent): void;
    focusControls(): Promise<void>;
    componentDidLoad(): void;
    private getDayOfFirst;
    private getDaysInMonth;
    private getMonthInfo;
    private createRange;
    render(): any[];
}
