import { DoCheck, ElementRef, OnDestroy, OnInit } from '@angular/core'; import { MatFormFieldControl } from '@angular/material/form-field'; import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, FormGroupDirective, NgControl, NgForm, ValidatorFn } from '@angular/forms'; import { Subject } from 'rxjs'; import { FocusMonitor } from '@angular/cdk/a11y'; import { CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher } from '@angular/material/core'; /** * Represents an interval consisting. */ export declare class Interval { start: number; end: number; /** * @param start interval's start. * @param end interval's end. */ constructor(start: number, end: number); } /** Error when invalid control is dirty, touched, or submitted. */ export declare class IntervalInputErrorStateMatcher implements ErrorStateMatcher { isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean; } /** Interval must have a start and end of the same type, either both numbers or both null */ export declare function startEndSameTypeValidator(otherInterval: 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 IntervalInputComponent 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: IntervalInputErrorStateMatcher; startIntervalControl: FormControl; endIntervalControl: FormControl; intervalStartLabel: string; intervalEndLabel: string; valueRequiredValidator: boolean; onChange: (_: any) => void; onTouched: () => void; 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(): Interval | null; set value(interval: Interval | 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(interval: Interval | null): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; _handleInput(): void; } export {};