import { Injector, OnChanges, SimpleChanges } from '@angular/core'; import { FormControl } from '@angular/forms'; import { DateLike } from '@microsoft/windows-admin-center-sdk/core/base/date/date-like'; import { DateType } from '@microsoft/windows-admin-center-sdk/core/base/date/date-type'; import { ValidationAlerts } from '../../validation-alert/validation-alert'; import { SmeInternalFormFieldComponent } from '../form-field.component'; import * as i0 from "@angular/core"; export declare abstract class DateLikeFormFieldComponent extends SmeInternalFormFieldComponent implements OnChanges { /** * Indicates the expected output type of the date like value. * if not provided, this control will attempt to detect the date type when 'value' is set */ dateType: DateType; /** * Indicates the maximum date value allowed */ max: DateLike; /** * Indicates the minimum date value allowed */ min: DateLike; /** * Now, as a date. */ protected now: Date; /** * Gets the year of now */ protected get nowYear(): number; /** * Gets the month of now */ protected get nowMonth(): number; /** * Gets the day of the month of now */ protected get nowDay(): number; /** * Gets the Hour of now */ protected get nowHour(): number; /** * Gets the minutes of now */ protected get nowMinute(): number; /** * The auto-detected type of this fields value. */ protected detectedDateType: DateType; /** * Initializes a new instance of the @see CalendarFormFieldComponent class. * @param injector The angular injection service. required by @see SmeInjectableBase decorator in the @see BaseComponent class */ constructor(injector: Injector); /** * Angular OnChanges implementation */ ngOnChanges(changes: SimpleChanges): void; /** * Occurs every time the value of the control changes, in the UI or programmatically. * @param value the value of the form control */ protected onValueChanged(value: DateLike): void; /** * Validates the control as a date (time is not considered) */ protected validateAsDate(c: FormControl): ValidationAlerts | null; /** * Validates the control as a time (date is not considered) */ protected validateAsTime(c: FormControl): ValidationAlerts | null; /** * Validates the control as a datetime (date and time are both considered) */ protected validateAsDateTime(c: FormControl): ValidationAlerts | null; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }