import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { MomentDateAdapter } from '@angular/material-moment-adapter'; import { DatePickerHeaderComponent } from '../../components/date-picker-header/date-picker-header.component'; import { FieldConfig } from '../..//models/field-config.model'; import { CalendarType } from '../../models/calendar.model'; import { DatepickerService } from '../../services/datepicker.service'; import { FormField } from '../../models/form-field.model'; import { FormUtilityService } from '../../services/form-utility.service'; import { SelectedDate } from '../../models/selected-date.model'; import * as i0 from "@angular/core"; export declare class CustomDateAdapter extends MomentDateAdapter { /** * Overrides the getDayOfWeekNames method of MomentDateAdapter to show first letter of day in capital in date picker header. * @return {string[]} * @memberof CustomDateAdapter */ getDayOfWeekNames(): string[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Date selection of type SINGLE_DATE_SELECTION, DATE_RANGE_SELECTION and CALENDAR and handling of calendar events. * @export * @class DatePickerComponent * @implements {FormField} * @implements {OnInit} * @implements {AfterViewInit} */ export declare class DatePickerComponent implements FormField, OnInit, OnDestroy { private fb; private changeDetectorRef; private datepickerService; private formUtilityService; private elementRef; config: FieldConfig; group: FormGroup; datePickerHeader: typeof DatePickerHeaderComponent; calendarTypes: typeof CalendarType; private _selectedDates; /** * Gets preselected dates as an input. * @memberof DatePickerComponent */ set selectedDates(value: string[]); /** * Returns selected dates * @readonly * @type {string[]} * @memberof DatePickerComponent */ get selectedDates(): string[]; private _selectedRange; /** * Gets preselected date range as an input. * @memberof DatePickerComponent */ set selectedRange(value: string[]); /** * Returns selected date range * @readonly * @type {string[]} * @memberof DatePickerComponent */ get selectedRange(): string[]; calendarType: CalendarType; formControlName: string; placeholderLabel: string; isDisabled: boolean; isLabelAlignedLeft: boolean; datepickerLabel: string; dateRange: { minDate: string; maxDate: string; }; minDate: Date | moment.Moment; maxDate: Date | moment.Moment; selectedDate: EventEmitter; selectedDateRange: EventEmitter<{ startDate: string; endDate: string; }>; calendarSelectedDate: Date; buttonActionsInfo: any; private formOverlayScrollContainer?; private readonly overlayWheelListener; constructor(fb: FormBuilder, changeDetectorRef: ChangeDetectorRef, datepickerService: DatepickerService, formUtilityService: FormUtilityService, elementRef: ElementRef); /** * Implementation of ngOnInit lifecycle hook method to creates config if its undefined and sets components instance variables if config is defined. Sets the form group value if form group is defined. * @memberof DatePickerComponent */ ngOnInit(): void; /** * Initializes properties from the config input * @memberof DatePickerComponent */ initializePropertiesFromConfig(): void; /** * Handle date change event and emits the selected date. * @memberof DatePickerComponent */ onDateChange(): void; /** * Sets and emits selected date range * @memberof DatePickerComponent */ onDateRangeChange(): void; /** * Sets the min and max date range. * @param {(string | Date)} startDate * @param {(string | Date)} endDate * @memberof DatePickerComponent */ setDateRange(startDate: string | Date, endDate: string | Date): void; /** * Creates form group and initializes form value * @param {string} [date] * @memberof DatePickerComponent */ createFormGroup(date?: string): void; /** * Creates form group with range type of controls and sets the min and max range values. * @param {string} [startDate] * @param {string} [endDate] * @memberof DatePickerComponent */ createFormGroupWithRangeControls(startDate?: string, endDate?: string): void; /** * Checks if the form control has required validator. * @return {boolean} * @memberof DatePickerComponent */ isRequired(): boolean; /** * Sets the updated selected date using datepicker service which will be shown in datepicker header * @param {string} controlName * @memberof DatePickerComponent */ onDatePickerOpen(controlName: string): void; onDatePickerClose(): void; ngOnDestroy(): void; private setOverlayClipBounds; private scrollFieldIntoViewForCalendar; private getFormOverlayScrollContainer; private clearOverlayClipBounds; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }