import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime'; import { BalCalendarCell, BalPointerDate } from './bal-datepicker.type'; import { BalConfigObserver, BalLanguage, BalConfigState, BalRegion } from '../../utils/config'; import { FormInput } from '../../utils/form-input'; import { Loggable, LogInstance } from '../../utils/log'; import { BalBreakpointObserver, BalBreakpoints } from '../../utils/breakpoints'; import { BalAriaForm, BalAriaFormLinking } from '../../utils/form'; export declare class Datepicker implements ComponentInterface, BalConfigObserver, FormInput, Loggable, BalBreakpointObserver, BalAriaFormLinking { private inputId; private inheritedAttributes; private popoverElement; nativeInput: HTMLInputElement; inputValue: string | undefined; initialValue?: string; el: HTMLElement; language: BalLanguage; region: BalRegion; isMobile: boolean; focused: boolean; isPopoverOpen: boolean; selectedDate?: string; pointerDate: BalPointerDate; ariaForm: BalAriaForm; log: LogInstance; createLogger(log: LogInstance): void; name: string; invalid: boolean; required: boolean; disabled: boolean; readonly: boolean; loading: boolean; placeholder?: string; min?: string; max?: string; closeOnSelect: boolean; triggerIcon: boolean; minYearProp?: number; maxYearProp?: number; debounce: number; protected debounceChanged(): void; defaultDate?: string; value?: string; protected valueChanged(): void; allowedDates: BalProps.BalDatepickerCallback | undefined; autoInvalidOff: boolean; balChange: EventEmitter; balInput: EventEmitter; balBlur: EventEmitter; balFocus: EventEmitter; balInputClick: EventEmitter; balIconClick: EventEmitter; listenOnClick(ev: UIEvent): void; private resetHandlerTimer?; resetHandler(ev: UIEvent): void; breakpointListener(breakpoints: BalBreakpoints): void; connectedCallback(): void; componentDidLoad(): void; componentWillLoad(): void; configChanged(state: BalConfigState): Promise; open(): Promise; close(): Promise; select(dateString: string): Promise; setFocus(): Promise; setBlur(): Promise; getInputElement(): Promise; setAriaForm(ariaForm: BalAriaForm): Promise; private updatePointerDates; private updateValue; get minYear(): number; get maxYear(): number; get years(): number[]; get months(): { name: string; index: number; }[]; get weekDays(): string[]; get firstDateOfBox(): Date; getLocale(): string; get calendarGrid(): BalCalendarCell[][]; private getAllowedDates; private onIconClick; private onInputClick; private onPopoverChange; private formatDate; private onInput; private onInputChange; private onClickDateCell; private onInputKeyUp; private onInputKeyDown; private onMonthSelect; private onYearSelect; private onInputFocus; private onInputBlur; private fireBlur; private handleClick; render(): any; renderInput(): any; renderGrid(): any; renderWeekDayHeader(): any; renderHeader(): any; private previousMonth; private nextMonth; private calcPreviousMonth; private calcNextMonth; private lastDayOfMonth; private get isPreviousMonthDisabled(); private get isNextMonthDisabled(); private isDateInRange; }