import { DoCheck, ElementRef, OnDestroy, OnInit } from '@angular/core'; import { CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher } from '@angular/material/core'; import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, FormGroupDirective, NgControl, NgForm, ValidatorFn } from '@angular/forms'; import { MatFormFieldControl } from '@angular/material/form-field'; import { Subject } from 'rxjs'; import { FocusMonitor } from '@angular/cdk/a11y'; import { KnoraDate, KnoraPeriod } from '@dasch-swiss/dsp-js'; import { ValueService } from '../../../services/value.service'; /** If a period is defined, start date must be before end date */ export declare function periodStartEndValidator(isPeriod: FormControl, endDate: FormControl, valueService: ValueService): 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 DateInputTextComponent extends _MatInputMixinBase implements ControlValueAccessor, MatFormFieldControl, DoCheck, CanUpdateErrorState, OnInit, OnDestroy, OnInit { ngControl: NgControl; private _fm; private _elRef; private _valueService; static nextId: number; valueRequiredValidator: boolean; form: FormGroup; stateChanges: Subject; isPeriodControl: FormControl; calendarControl: FormControl; startDate: FormControl; endDate: FormControl; readonly focused = false; readonly controlType = "dsp-date-input-text"; calendars: string[]; private _subscriptions; get value(): KnoraDate | KnoraPeriod | null; set value(date: KnoraDate | KnoraPeriod | null); get disabled(): boolean; set disabled(value: boolean); private _disabled; get placeholder(): string; set placeholder(plh: string); private _placeholder; get required(): boolean; set required(req: boolean); private _required; get shouldLabelFloat(): boolean; id: string; constructor(fb: FormBuilder, ngControl: NgControl, _fm: FocusMonitor, _elRef: ElementRef, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _defaultErrorStateMatcher: ErrorStateMatcher, _valueService: ValueService); onChange: (_: any) => void; onTouched: () => void; get empty(): boolean; ngOnInit(): void; ngDoCheck(): void; ngOnDestroy(): void; writeValue(date: KnoraDate | KnoraPeriod | null): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; _handleInput(): void; onContainerClick(event: MouseEvent): void; setDescribedByIds(ids: string[]): void; } export {};