import { Component } from '@a11d/lit';
import { FieldDateTimePrecision } from '../FieldDateTimePrecision.js';
/**
 * @fires dateClick - Dispatched when a date is clicked, with the clicked date as detail.
 */
export declare class Calendar extends Component {
    readonly dateClick: EventDispatcher<DateTime>;
    value?: DateTimeRange;
    precision: FieldDateTimePrecision;
    includeWeek: boolean;
    min?: DateTime;
    max?: DateTime;
    dateDisabled?: (date: DateTime) => boolean;
    private readonly datesController;
    view: FieldDateTimePrecision;
    setView(view: FieldDateTimePrecision, navigationDate?: import("@3mo/date-time/DateTime.js").DateTime): void;
    get navigationDate(): import("@3mo/date-time/DateTime.js").DateTime;
    setNavigatingValue(date: DateTime, behavior?: 'instant' | 'smooth'): Promise<void>;
    static get styles(): import("@a11d/lit").CSSResult;
    private get includeWeekNumber();
    private get columns();
    private getColumnName;
    protected get template(): import("lit-html").HTMLTemplateResult;
    private getYearTemplate;
    private static get weekDaysTemplate();
    private getMonthTemplate;
    protected getWeekTemplate(date: DateTime, month: ReadonlyArray<DateTime>): import("lit-html").HTMLTemplateResult;
    private getDayTemplate;
    private handleItemClick;
    private isDisabled;
    private isNavigating;
    private isNow;
    private isStart;
    private isEnd;
    private isInRange;
}
declare global {
    interface HTMLElementTagNameMap {
        'mo-calendar': Calendar;
    }
}
//# sourceMappingURL=Calendar.d.ts.map