import { EventEmitter, OnChanges, SimpleChanges, ElementRef, ChangeDetectorRef, Renderer } from "@angular/core"; import { ControlValueAccessor } from "@angular/forms"; import { IMyDate, IMyMonth, IMyCalendarMonth, IMyCalendarYear, IMyWeek, IMyOptions, IMyDateModel, IMyInputFieldChanged, IMyCalendarViewChanged, IMyInputFocusBlur } from "./interfaces/index"; import { LocaleService } from "./services/my-date-picker.locale.service"; import { UtilService } from "./services/my-date-picker.util.service"; export declare const MYDP_VALUE_ACCESSOR: any; export declare class MyDatePickerTH implements OnChanges, ControlValueAccessor { elem: ElementRef; private renderer; private cdr; private localeService; private utilService; options: IMyOptions; locale: string; defaultMonth: string; selDate: string; placeholder: string; selector: number; disabled: boolean; dateChanged: EventEmitter; inputFieldChanged: EventEmitter; calendarViewChanged: EventEmitter; calendarToggle: EventEmitter; inputFocusBlur: EventEmitter; selectorEl: any; onChangeCb: (_: any) => void; onTouchedCb: () => void; currentSysYear: number; currentThaiYear: number; showSelector: boolean; visibleMonth: IMyMonth; selectedMonth: IMyMonth; selectedDate: IMyDate; weekDays: Array; dates: Array; months: Array>; years: Array>; selectionDayTxt: string; invalidDate: boolean; disableTodayBtn: boolean; dayIdx: number; weekDayOpts: Array; selectMonth: boolean; selectYear: boolean; prevMonthDisabled: boolean; nextMonthDisabled: boolean; prevYearDisabled: boolean; nextYearDisabled: boolean; prevMonthId: number; currMonthId: number; nextMonthId: number; opts: IMyOptions; constructor(elem: ElementRef, renderer: Renderer, cdr: ChangeDetectorRef, localeService: LocaleService, utilService: UtilService); setLocaleOptions(): void; setOptions(): void; getSelectorTopPosition(): string; resetMonthYearSelect(): void; onSelectMonthClicked(event: any): void; onMonthCellClicked(cell: IMyCalendarMonth): void; onMonthCellKeyDown(event: any, cell: IMyCalendarMonth): void; onSelectYearClicked(event: any): void; generateYears(year: number): void; onYearCellClicked(cell: IMyCalendarYear): void; onYearCellKeyDown(event: any, cell: IMyCalendarYear): void; onPrevYears(event: any, year: number): void; onNextYears(event: any, year: number): void; onCloseSelector(event: any): void; onUserDateInput(value: string): void; onFocusInput(event: any): void; onBlurInput(event: any): void; isTodayDisabled(): void; parseOptions(): void; writeValue(value: Object): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; ngOnChanges(changes: SimpleChanges): void; removeBtnClicked(): void; decreaseBtnClicked(): void; increaseBtnClicked(): void; decreaseDate(): void; increaseDate(): void; openBtnClicked(): void; setVisibleMonth(): void; onPrevMonth(): void; onNextMonth(): void; onPrevYear(): void; onNextYear(): void; onTodayClicked(): void; onCellClicked(cell: any): void; onCellKeyDown(event: any, cell: any): void; clearDate(): void; selectDate(date: IMyDate): void; updateDateValue(date: IMyDate, clear: boolean): void; getDateModel(date: IMyDate): IMyDateModel; preZero(val: string): string; formatDate(val: any): string; monthText(m: number): string; monthStartIdx(y: number, m: number): number; daysInMonth(m: number, y: number): number; daysInPrevMonth(m: number, y: number): number; isCurrDay(d: number, m: number, y: number, cmo: number, today: IMyDate): boolean; getToday(): IMyDate; getTimeInMilliseconds(date: IMyDate): number; getWeekday(date: IMyDate): string; getDate(year: number, month: number, day: number): Date; sundayIdx(): number; generateCalendar(m: number, y: number, notifyChange: boolean): void; parseSelectedDate(selDate: any): IMyDate; parseSelectedMonth(ms: string): IMyMonth; setHeaderBtnDisabledState(m: number, y: number): void; }