import "../../base-elements";
import { AttributesOf, EventNamesOf } from "wc_toolkit";
import { Dt } from "./date";
declare class DateChangeEvent extends Event {
    readonly type: "change";
    value: Date;
    constructor(type: string, value: Date);
}
declare class DateModeChangeEvent extends Event {
    readonly type: "modechange";
    value: "day" | "month" | "year";
    constructor(type: string, value: "day" | "month" | "year");
}
declare class DateYearSelectEvent extends Event {
    readonly type: "yearselected";
    value: number;
    constructor(type: string, value: number);
}
declare class DateMonthSelectEvent extends Event {
    readonly type: "monthselected";
    value: number;
    constructor(type: string, value: number);
}
declare class DateMonthArrowPressEvent extends Event {
    readonly type: "montharrowpress";
    value: "prev" | "next";
    constructor(type: string, value: "prev" | "next");
}
declare const CustomElement: import("wc_toolkit").CustomElement<{
    value: "string";
    defaultValue: "string";
    locale: "string";
    name: "string";
    form: "string";
}, {
    readonly change: typeof DateChangeEvent;
    readonly yearselected: typeof DateYearSelectEvent;
    readonly monthselected: typeof DateMonthSelectEvent;
    readonly modechange: typeof DateModeChangeEvent;
    readonly montharrowpress: typeof DateMonthArrowPressEvent;
}, {
    setYear(y: number): void;
    setMonth(m: number): void;
    nextMonth(): void;
    prevMonth(): void;
    nextYearPage(): void;
    prevYearPage(): void;
    _showYearSelection(e: Event): void;
    _showMonthSelection(e: Event): void;
    _updateLocale(): void;
    _handleDateSelect(date: Dt): void;
    _handleYearSelect(e: Event, y: number): void;
    _handleMonthSelect(e: Event, m: number): void;
    _handlePrevMonthPress(e: Event): void;
    _handleNextMonthPress(e: Event): void;
}>;
declare const AdwCalendar: import("wc_toolkit").CustomElement<{
    value: "string";
    defaultValue: "string";
    locale: "string";
    name: "string";
    form: "string";
}, {
    readonly change: typeof DateChangeEvent;
    readonly yearselected: typeof DateYearSelectEvent;
    readonly monthselected: typeof DateMonthSelectEvent;
    readonly modechange: typeof DateModeChangeEvent;
    readonly montharrowpress: typeof DateMonthArrowPressEvent;
}, {
    setYear(y: number): void;
    setMonth(m: number): void;
    nextMonth(): void;
    prevMonth(): void;
    nextYearPage(): void;
    prevYearPage(): void;
    _showYearSelection(e: Event): void;
    _showMonthSelection(e: Event): void;
    _updateLocale(): void;
    _handleDateSelect(date: Dt): void;
    _handleYearSelect(e: Event, y: number): void;
    _handleMonthSelect(e: Event, m: number): void;
    _handlePrevMonthPress(e: Event): void;
    _handleNextMonthPress(e: Event): void;
}>;
type AdwCalendar = InstanceType<typeof CustomElement>;
type AdwCalendarAttributes = AttributesOf<typeof AdwCalendar>;
type AdwCalendarEvents = EventNamesOf<typeof AdwCalendar>;
export { AdwCalendar };
export type { AdwCalendarAttributes, AdwCalendarEvents, DateChangeEvent, DateModeChangeEvent, DateMonthArrowPressEvent, DateMonthSelectEvent, DateYearSelectEvent, };
