import { FormGroupDirective, NgForm, FormControl, NgControl } from '@angular/forms'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export declare type Constructor = new (...args: any[]) => T; /** Error state matcher that matches when a control is invalid and dirty. */ export declare class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher { isError(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean; static ɵfac: i0.ɵɵFactoryDef; static ɵprov: i0.ɵɵInjectableDef; } /** Provider that defines how form controls behave with regards to displaying error messages. */ export declare class ErrorStateMatcher { isError(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean; static ɵfac: i0.ɵɵFactoryDef; static ɵprov: i0.ɵɵInjectableDef; } export interface CanUpdateErrorState { readonly stateChanges: Subject; isError: boolean; errorStateMatcher: ErrorStateMatcher; isErrorStateFrozen: boolean; updateIsError(): any; } export interface HasErrorState { _parentFormGroup: FormGroupDirective; _defaultErrorStateMatcher: ErrorStateMatcher; ngControl: NgControl; } /** * Mixin to augment a directive with updateErrorState method. * For component with `errorState` and need to update `errorState`. */ export declare function mixinIsError>(base: T): Constructor & T;