import { AfterViewInit, ChangeDetectorRef, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms'; import { DatePipe } from '@angular/common'; import { BehaviorSubject, Subject } from 'rxjs'; import { DatepickerMode } from './datepicker-mode'; import { DatepickerDate } from './datepicker-date'; import { InputComponent } from '@ironsource/fusion-ui/components/input/v1'; import { TimezoneService } from '@ironsource/fusion-ui/services/timezone'; import { CalendarService } from '@ironsource/fusion-ui/components/calendar/common/base'; import { Datepicker } from './datepicker'; import * as i0 from "@angular/core"; export declare class DatepickerComponent implements OnInit, OnDestroy, OnChanges, AfterViewInit, ControlValueAccessor { private timezoneService; private calendarService; private renderer; private fb; private datePipe; cdr: ChangeDetectorRef; set isOpened(value: boolean); isTimePicker: boolean; isTimeZonePicker: boolean; isDisabled: boolean; style: 'drop-down' | 'combo-box'; labelDateFormat: string; placeholder: string; error: string; defaultTimezone: string; minDate: Date; maxDate: Date; prefix: string; mode: DatepickerMode; suppressClickOnRemove: boolean; hoursPicker: InputComponent; minutesPicker: InputComponent; onDestroy$: Subject; dropDownStyle: any; selectedDate: Datepicker; today: Date; calendarDate: Date; datesInputs: FormGroup; timeZonesOptions: Array; daysOfWeek: string[]; weeks: DatepickerDate[][]; datepickerAvailableModes: typeof DatepickerMode; isOpen$: BehaviorSubject; constructor(timezoneService: TimezoneService, calendarService: CalendarService, renderer: Renderer2, fb: FormBuilder, datePipe: DatePipe, cdr: ChangeDetectorRef); ngOnInit(): void; ngOnDestroy(): void; ngAfterViewInit(): void; ngOnChanges(changes: any): void; get selectedLabel(): string; private setMinMaxForTimeInput; private isDate; private _setSelectedDate; private selectCurrentDate; private _toggleDateInputErrClass; private initData; private initListeners; private onDateValueChanged; private onHoursValueChanged; private onMinutesValueChanged; private onTimezoneValueChanged; private _getSelectedTimezone; /** * On external (out component click event ) */ onOutsideClick(): void; /** * On input get focus */ onInputFocus(): void; /** * gen array of weeks / days for calendar render * @param dateToCalendar - Date for calendar */ private setWeeks; getCalendar(month: any, year: any): any[]; private getDaysInMonth; private isDatesEqual; private isDateDisabled; private formatDateToString; private getDateHours; private getDateMinutes; /** * On month changed * @param direction month changing delta (1: for next, -1: for prev. ) */ onMonthChangeClicked(direction?: number): void; /** * Select date on calendar; */ onDateClick(dateToSelect: any, $event: any): void; /** * check if components has selected date */ isDateSelected(): boolean; /** * Method to call when value has changes. */ propagateChange: (_: Datepicker) => void; /** * Method to call when the component is touched (when it was is clicked). */ propagateTouched: () => void; /** * update value from model to the component */ writeValue(value: Datepicker): void; /** * Informs the outside world about changes. * see method propagateChange call - this.propagateChange(this.model); */ registerOnChange(fn: any): void; /** * on click */ registerOnTouched(fn: any): void; /** * on set form controll enabled / disabled * also do UI Component enabled / disabled */ setDisabledState?(isDisabled: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }