import { IEventEmitter } from '@breadstone/mosaik-elements'; import { IDisableableProps } from '../../../../../Behaviors/Disableable'; import { ILocaleableProps } from '../../../../../Behaviors/Localeable'; import { ICalendarDisplayChangedEventDetail, ICalendarViewChangedEventDetail, IDateChangedEventDetail } from '../../../../../events'; import { CalendarMarkerHandler } from '../../../../../Types/CalendarMarkerHandler'; import { RangeSelectionMode } from '../../../../../Types/RangeSelectionMode'; import { CustomElement } from '../../../../Abstracts/CustomElement'; import { CalendarElementIntl } from '../../Intl/CalendarElementIntl'; /** * Represents the `ICalendarViewBaseElementProps` interface. * * @public */ export interface ICalendarViewBaseElementProps extends IDisableableProps, ILocaleableProps { value?: Date; values?: Array; selection: RangeSelectionMode; blackoutDates: Array; specialDates: Array; markerHandler: CalendarMarkerHandler; displayDate: Date | null; displayDateStart: Date | null; displayDateEnd: Date | null; } declare const CalendarViewBaseElement_base: import("../../../../../../Index").ControlBehaviorReturn, IDisableableProps>; /** * The `CalendarViewBaseElement` element. * * @fires valueChanged {DateChangedEvent} - Fired when the value is changed. * In the years view, the `value` property is the selected year. * In the months view, the `value` property is the selected month. * In the days view, the `value` property is the selected date. * @fires viewChanged {CalendarViewChangedEvent} - Fired when the view is changed between years, months, and days. * @fires displayChanged {CalendarDisplayChangedEvent} - Fired when the display date is changed. * * @public * @abstract */ export declare abstract class CalendarViewBaseElement extends CalendarViewBaseElement_base implements ICalendarViewBaseElementProps { private readonly _valueChanged; private readonly _viewChanged; private readonly _displayChanged; private _displayDate; private _displayDateStart; private _displayDateEnd; private _value?; private _values?; private _selection; private _blackoutDates; private _specialDates; private _markerHandler; private _intl; /** * @public */ constructor(); /** * Gets or sets the `displayDate` property. * * @public * @attr */ get displayDate(): Date | null; set displayDate(value: Date | null); /** * Gets or sets the `displayDateStart` property. * * @public * @attr */ get displayDateStart(): Date | null; set displayDateStart(value: Date | null); /** * Gets or sets the `displayDateEnd` property. * * @public * @attr */ get displayDateEnd(): Date | null; set displayDateEnd(value: Date | null); /** * Gets or sets the `value` property. * * @public * @attr */ get value(): Date | undefined; set value(value: Date | undefined); /** * Gets or sets the `values` property. * * @public * @attr */ get values(): Array | undefined; set values(value: Array | undefined); /** * Gets or sets the `selection` property. * * @public * @attr */ get selection(): RangeSelectionMode; set selection(value: RangeSelectionMode); /** * Gets or sets the `blackoutDates` property. * * @public */ get blackoutDates(): Array; set blackoutDates(value: Array); /** * Gets or sets the `specialDates` property. * * @public */ get specialDates(): Array; set specialDates(value: Array); /** * Gets or sets the `markerHandler` property. * * @public */ get markerHandler(): CalendarMarkerHandler; set markerHandler(value: CalendarMarkerHandler); /** * Gets or sets the `intl` property. * * @public */ get intl(): CalendarElementIntl | null; set intl(value: CalendarElementIntl | null); /** * Called when the value is changed. * Provides reference to `IDateChangedEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get valueChanged(): IEventEmitter; /** * Called when the view is changed between years, months, and days. * Provides reference to `ICalendarViewChangedEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get viewChanged(): IEventEmitter; /** * Called when the view is changed between years, months, and days. * Provides reference to `ICalendarDisplayChangedEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get displayChanged(): IEventEmitter; /** * @protected * @template */ isDateInRange(date: Date): boolean; /** * Emits the `changed` event. * * @protected */ protected onValueChanged(args: IDateChangedEventDetail): void; /** * Emits the `viewChanged` event. * * @protected */ protected onViewChanged(args: ICalendarViewChangedEventDetail): void; /** * Emits the `displayChanged` event. * * @protected */ protected onDisplayChanged(args: ICalendarDisplayChangedEventDetail): void; } export {}; //# sourceMappingURL=CalendarViewBase.d.ts.map