import { GdsElement } from '../../gds-element'; /** * Used to customize the appearance of a date in the calendar. */ export type CustomizedDate = { /** * The date to customize. */ date: Date; /** * The color of the indicator. */ color?: string; /** * The type of indicator - `dot` is default. */ indicator?: 'dot'; /** * Whether the date is disabled or not. */ disabled: boolean; }; /** * @element gds-calendar * * A calendar is a widget that allows the user to select a date. * * @event change - Fired when a date is selected. * @event gds-date-focused - Fired when focus is changed. Can be cancelled using `event.preventDefault()`. */ export declare class GdsCalendar extends GdsElement { #private; static styles: (import("lit").CSSResult | import("lit").CSSResult[])[]; static shadowRootOptions: ShadowRootInit; /** * The currently selected date. */ value?: Date; /** * The minimum date that can be selected. */ min: Date; /** * The maximum date that can be selected. */ max: Date; /** * The date that is currently focused. */ focusedDate: Date; /** * Whether to disable weekends or not. */ disabledWeekends: boolean; /** * An array of dates that should be disabled in the calendar. */ disabledDates?: Date[]; /** * The month that is currently focused. */ get focusedMonth(): number; set focusedMonth(month: number); /** * The year that is currently focused. */ get focusedYear(): number; set focusedYear(year: number); /** * Sets the size of the grid. Defaults to "large". */ size: 'small' | 'large'; /** * Whether to show week numbers or not. */ showWeekNumbers: boolean; /** * Whether to hide extraneous days (that fall ouside of current month) */ hideExtraneousDays: boolean; /** * Whether to hide the day names shown above the calendar. */ hideDayNames: boolean; /** * An array of `CustomizedDate` objects that can be used customize the appearance of dates. * This can only be set through the property, not through an attribute. */ customizedDates?: CustomizedDate[]; /** * The accessible label for the calendar. */ label?: string; /** * A template function to customize the accessible date label. */ dateLabelTemplate: (date: Date) => string; /** * Returns the date cell element for the given day number. */ getDateCell(dayNumber: number): Element | null | undefined; private _currentLocale; private _elFocusedCell?; connectedCallback(): void; focus(): void; render(): import("lit-html").TemplateResult<1>; private _valueChanged; }