import { IAbstractControl } from "./i-abstract-control"; import { ControlState } from "./control-state"; import { FormControl } from "@angular/forms"; import { Observable } from "rxjs"; export interface IFormControl extends FormControl { readonly errorMessages?: string[]; readonly errorMessage?: string; readonly value: T | null; readonly valueChanges: Observable; readonly statusChanges: Observable<"VALID" | "INVALID" | "PENDING" | "DISABLED">; get(path: string): 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?: string): any; patchValue(value: null | T, options?: { onlySelf?: boolean; emitEvent?: boolean; emitModelToViewChange?: boolean; emitViewToModelChange?: boolean; }): void; reset(formState?: ControlState, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void; setValue(value: null | T, options?: { onlySelf?: boolean; emitEvent?: boolean; emitModelToViewChange?: boolean; emitViewToModelChange?: boolean; }): void; registerOnChange(fn: Function): void; registerOnDisabledChange(fn: (isDisabled: boolean) => void): void; }