import { FormGroupDirective, NgControl, NgForm } from '@angular/forms'; import { SbbErrorStateMatcher } from '@sbb-esta/angular-core/error'; import { Subject } from 'rxjs'; import { Constructor } from './constructor'; /** @docs-private */ export interface CanUpdateErrorState { readonly stateChanges: Subject; errorState: boolean; errorStateMatcher: SbbErrorStateMatcher; updateErrorState(): void; } /** @docs-private */ export declare type CanUpdateErrorStateCtor = Constructor; /** @docs-private */ export interface HasErrorState { _parentFormGroup: FormGroupDirective; _parentForm: NgForm; _defaultErrorStateMatcher: SbbErrorStateMatcher; ngControl: NgControl; } /** * Mixin to augment a directive with updateErrorState method. * For component with `errorState` and need to update `errorState`. */ export declare function mixinErrorState>(base: T): CanUpdateErrorStateCtor & T;