import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { Observable } from 'rxjs'; import { DropdownComponent } from '../dropdown/dropdown.component'; import { DatetimePickerService } from './datetime-picker.service'; import { CalendarView, DayCell, DayOfWeek } from './types'; import * as i0 from "@angular/core"; export type CurrentView = { date: Date; month: number; year: number; }; /** * @description * A form input for selecting datetime values. * * @example * ```HTML * * ``` * * @docsCategory components */ export declare class DatetimePickerComponent implements ControlValueAccessor, AfterViewInit, OnInit, OnDestroy { private changeDetectorRef; private datetimePickerService; /** * @description * The range above and below the current year which is selectable from * the year select control. If a min or max value is set, these will * override the yearRange. */ yearRange: any; /** * @description * The day that the week should start with in the calendar view. */ weekStartDay: DayOfWeek; /** * @description * The granularity of the minutes time picker */ timeGranularityInterval: number; /** * @description * The minimum date as an ISO string */ min: string | null; /** * @description * The maximum date as an ISO string */ max: string | null; /** * @description * Sets the readonly state */ readonly: boolean; dropdownComponent: DropdownComponent; datetimeInput: ElementRef; calendarTable: ElementRef; disabled: boolean; calendarView$: Observable; current$: Observable; selected$: Observable; selectedHours$: Observable; selectedMinutes$: Observable; years: number[]; weekdays: string[]; hours: number[]; minutes: number[]; private onChange; private onTouch; private subscription; constructor(changeDetectorRef: ChangeDetectorRef, datetimePickerService: DatetimePickerService); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; writeValue(value: string | null): void; prevMonth(): void; nextMonth(): void; selectToday(): void; setYear(event: Event): void; setMonth(event: Event): void; selectDay(day: DayCell): void; clearValue(): void; handleCalendarKeydown(event: KeyboardEvent): void; setHour(event: Event): void; setMinute(event: Event): void; closeDatepicker(): void; private populateYearsSelection; private populateWeekdays; private populateHours; private populateMinutes; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }