import { Observable } from "rxjs"; import { AbstractControl } from "@angular/forms"; import { ControlState } from './control-state'; export interface IAbstractControl extends AbstractControl { readonly errorMessages?: string[]; readonly errorMessage?: string; readonly value: T | null; readonly valueChanges: Observable; readonly statusChanges: Observable<"VALID" | "INVALID" | "PENDING" | "DISABLED">; get(path: Array | number> | Extract): IAbstractControl | null; setValue(value: null | T, options?: { onlySelf?: boolean; emitEvent?: boolean; emitModelToViewChange?: boolean; emitViewToModelChange?: boolean; }): void; patchValue(value: null | T | Partial, options?: { onlySelf?: boolean; emitEvent?: boolean; emitModelToViewChange?: boolean; emitViewToModelChange?: boolean; }): void; reset(formState?: ControlState, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void; getError(errorCode: string, path?: Array | number> | Extract): any; }