import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, TemplateRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { I18nInterface, I18nService } from 'ng-devui/i18n'; import { DateConverter } from 'ng-devui/utils'; import { Subscription } from 'rxjs'; import { SelectDateChangeEventArgs, SelectDateChangeReason } from './date-change-event-args.model'; import { DatePickerConfigService as DatePickerConfig } from './date-picker.config.service'; import * as i0 from "@angular/core"; export declare class DatepickerComponent implements OnInit, OnChanges, OnDestroy, ControlValueAccessor { protected elementRef: ElementRef; protected renderer2: Renderer2; protected datePickerConfig: DatePickerConfig; protected changeDetectorRef: ChangeDetectorRef; protected i18n: I18nService; static DAY_DURATION: number; protected _maxDate: Date; protected _minDate: Date; protected nowMinYear: number; protected nowMaxYear: number; cssClass: string; dateConverter: DateConverter; locale: string; selectedDateChange: EventEmitter; disabled: boolean; customViewTemplate: TemplateRef; selectedDate: Date; mode: 'year' | 'month' | 'date'; dateFormat: string; yearNumber: number; _yearNumber: number; _dateConfig: any; currentYear: number; currentMonthIndex: number; _currentHour: number | string; _currentMinute: number | string; _currentSecond: number | string; _showTime: boolean; hourOptions: string[]; minuteOptions: string[]; displayWeeks: any[]; yearOptions: any[]; openChooseYear: boolean; openChooseMonth: boolean; availableMonths: any[]; i18nText: I18nInterface['datePicker']; i18nLocale: I18nInterface['locale']; i18nCommonText: I18nInterface['common']; i18nSubscription: Subscription; protected onChange: (_: any) => any; protected onTouched: () => any; constructor(elementRef: ElementRef, renderer2: Renderer2, datePickerConfig: DatePickerConfig, changeDetectorRef: ChangeDetectorRef, i18n: I18nService); ngOnInit(): void; initMode(): void; ngOnChanges(changes: SimpleChanges): void; onDocumentClick($event: any): void; onClick($event: any): void; set showTime(showTime: boolean); get showTime(): boolean; set dateConfig(dateConfig: any); get dateConfig(): any; checkDateConfig(dateConfig: any): boolean; set minDate(date: Date | any); get minDate(): Date | any; set maxDate(date: Date | any); get maxDate(): Date | any; set currentHour(hour: number | string); get currentHour(): number | string; set currentMinute(min: number | string); get currentMinute(): number | string; set currentSecond(sec: number | string); get currentSecond(): number | string; protected resetYearOptions(): void; onYearRangeChange(): void; writeValue(obj: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; hasPreMonth(): boolean; onPreMonth(): void; hasNextMonth(): boolean; onNextMonth(currentDate?: Date, invocation?: any): void; hasPreYearOption(): boolean; onPreYearOption(): void; hasNextYearOption(): boolean; onNextYearOption(): void; onSelectYear(year: any, $event?: Event): void; protected onSelectDateChanged(): void; onDisplayWeeksChange(): void; onDisplayMonthsChange(): { index: number; title: string; disabled: boolean; }[]; protected fillLeft(num: number): string; isDisabledDay(date: any): boolean; isSelectDay(date: any): boolean; onSelectDate($event: any, date: any, invocation?: any, reason?: SelectDateChangeReason): void; fixTime(event: any, type: any): void; onTimeChange(): void; timeUp(type: any): void; timeDown(type: any): void; clearAll: (reason?: SelectDateChangeReason) => void; toggle($event: Event, which: any): void; isTodayDisable(): boolean; isDisabledTime(): boolean; initDatePicker(): void; confirmTime(event: any): void; chooseToday(): void; onSelectMonth(month: any): void; chooseDate: (date: string, event?: {}, reason?: SelectDateChangeReason) => void; get minDateDefined(): boolean; get maxDateDefined(): boolean; setI18nText(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }