import { FocusMonitor } from '@angular/cdk/a11y'; import { DatePipe } from '@angular/common'; import { ValueErrorStateMatcher } from '../../value-error-state-matcher'; import { DoCheck, ElementRef, OnDestroy, OnInit } from '@angular/core'; import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, FormGroupDirective, NgControl, NgForm, ValidatorFn } from '@angular/forms'; import { CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher } from '@angular/material/core'; import { MatFormFieldControl } from '@angular/material/form-field'; import { GregorianCalendarDate } from 'jdnconvertiblecalendar'; import { Subject } from 'rxjs'; /** A valid time value must have both a date and a time, or both inputs must be null */ export declare function dateTimeValidator(otherControl: FormControl): ValidatorFn; declare class MatInputBase { _defaultErrorStateMatcher: ErrorStateMatcher; _parentForm: NgForm; _parentFormGroup: FormGroupDirective; ngControl: NgControl; constructor(_defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl); } declare const _MatInputMixinBase: CanUpdateErrorStateCtor & typeof MatInputBase; export declare class DateTime { date: GregorianCalendarDate; time: string; /** * @param date DateTime's date. * @param time DateTime's time. */ constructor(date: GregorianCalendarDate, time: string); } export declare class TimeInputComponent extends _MatInputMixinBase implements ControlValueAccessor, MatFormFieldControl, DoCheck, CanUpdateErrorState, OnDestroy, OnInit { ngControl: NgControl; private _fm; private _elRef; static nextId: number; form: FormGroup; stateChanges: Subject; id: string; focused: boolean; errorState: boolean; controlType: string; matcher: ValueErrorStateMatcher; onChange: (_: any) => void; onTouched: () => void; dateLabel: string; timeLabel: string; valueRequiredValidator: boolean; dateFormControl: FormControl; timeFormControl: FormControl; datePipe: DatePipe; get empty(): boolean; get shouldLabelFloat(): boolean; get required(): boolean; set required(req: boolean); private _required; get disabled(): boolean; set disabled(value: boolean); private _disabled; get placeholder(): string; set placeholder(plh: string); private _placeholder; describedBy: string; setDescribedByIds(ids: string[]): void; get value(): string | null; set value(timestamp: string | null); errorStateMatcher: ErrorStateMatcher; constructor(fb: FormBuilder, ngControl: NgControl, _fm: FocusMonitor, _elRef: ElementRef, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _defaultErrorStateMatcher: ErrorStateMatcher); ngOnInit(): void; ngDoCheck(): void; ngOnDestroy(): void; onContainerClick(event: MouseEvent): void; writeValue(datetime: string | null): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; _handleInput(): void; userInputToTimestamp(userInput: DateTime): string; convertTimestampToDateTime(timestamp: string): DateTime; } export {};