import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms'; import { DatepickerDateTimePickerComponent } from '../components/date-time-picker/datepicker-date-time-picker.component'; import { SelectMode } from '../classes/datepicker-date-time.class'; import { DatepickerDateTimeAdapter } from '../adapters/datepicker-date-time.adapter'; import { DatepickerDateTimeFormats } from '../classes/datepicker-date-time-format.class'; import * as i0 from "@angular/core"; export declare const DATEPICKER_DATETIME_VALUE_ACCESSOR: any; export declare const DATEPICKER_DATETIME_VALIDATORS: any; export declare class DatepickerDateTimePickerInputDirective implements OnInit, AfterContentInit, OnDestroy, ControlValueAccessor, Validator { private elmRef; private renderer; private dateTimeAdapter; private dateTimeFormats; /** * The date time picker that this input is associated with. * */ set radUiDatepickerDateTime(value: DatepickerDateTimePickerComponent); /** * A function to filter date time */ set datepickerDateTimeFilter(filter: (date: T | null) => boolean); get dateTimeFilter(): (date: T) => boolean; get disabled(): boolean; set disabled(value: boolean); get min(): T | null; set min(value: T | null); get max(): T | null; set max(value: T | null); get selectMode(): SelectMode; set selectMode(mode: SelectMode); get value(): T | null; set value(value: T | null); get values(): T[]; set values(values: T[]); get elementRef(): ElementRef; get isInSingleMode(): boolean; get isInRangeMode(): boolean; get datepickerDateTimeInputAriaHaspopup(): boolean; get datepickerDateTimeInputAriaOwns(): string; get minIso8601(): string; get maxIso8601(): string; get datepickerDateTimeInputDisabled(): boolean; constructor(elmRef: ElementRef, renderer: Renderer2, dateTimeAdapter: DatepickerDateTimeAdapter, dateTimeFormats: DatepickerDateTimeFormats); private _dateTimeFilter; /** Whether the date time picker's input is disabled. */ private _disabled; /** The minimum valid date. */ private _min; /** The maximum valid date. */ private _max; /** * The picker's select mode */ private _selectMode; /** * The character to separate the 'from' and 'to' in input value */ rangeSeparator: string; private _value; private _values; /** * Callback to invoke when `change` event is fired on this `` * */ dateTimeChange: EventEmitter; /** * Callback to invoke when an `input` event is fired on this ``. * */ dateTimeInput: EventEmitter; /** The date-time-picker that this input is associated with. */ dtPicker?: DatepickerDateTimePickerComponent; private dtPickerSub; private localeSub; private lastValueValid; /** Emits when the value changes (either due to user input or programmatic change). */ valueChange: EventEmitter; /** Emits when the disabled state has changed */ disabledChange: EventEmitter; private onModelChange; private onModelTouched; private validatorOnChange; /** The form control validator for whether the input parses. */ private parseValidator; /** The form control validator for the min date. */ private minValidator; /** The form control validator for the max date. */ private maxValidator; /** The form control validator for the date filter. */ private filterValidator; /** * The form control validator for the range. * Check whether the 'before' value is before the 'to' value * */ private rangeValidator; /** The combined form control validator for this input. */ private validator; ngOnInit(): void; ngAfterContentInit(): void; ngOnDestroy(): void; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; validate(c: AbstractControl): ValidationErrors; registerOnValidatorChange(fn: () => void): void; /** * Open the picker when user hold alt + DOWN_ARROW * */ handleKeydownOnHost(event: KeyboardEvent): void; handleBlurOnHost(event: Event): void; handleInputOnHost(event: any): void; handleChangeOnHost(event: any): void; /** * Set the native input property 'value' */ formatNativeInputValue(): void; /** * Register the relationship between this input and its picker component */ private registerDateTimePicker; /** * Convert a given obj to a valid date object */ private getValidDate; /** * Convert a time string to a date-time string * When pickerType is 'timer', the value in the picker's input is a time string. * The dateTimeAdapter parse fn could not parse a time string to a Date Object. * Therefore we need this fn to convert a time string to a date-time string. */ private convertTimeStringToDateTimeString; /** * Handle input change in single mode */ private changeInputInSingleMode; /** * Handle input change in rangeFrom or rangeTo mode */ private changeInputInRangeFromToMode; /** * Handle input change in range mode */ private changeInputInRangeMode; /** * Check if the two value is the same */ private isSameValue; static ɵfac: i0.ɵɵFactoryDeclaration, [null, null, { optional: true; }, { optional: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration, "input[radUiDatepickerDateTime]", never, { "radUiDatepickerDateTime": "radUiDatepickerDateTime"; "datepickerDateTimeFilter": "datepickerDateTimeFilter"; "min": "min"; "max": "max"; "selectMode": "selectMode"; "value": "value"; "values": "values"; "_disabled": "_disabled"; "rangeSeparator": "rangeSeparator"; }, { "dateTimeChange": "dateTimeChange"; "dateTimeInput": "dateTimeInput"; }, never, never, false, never>; }