import { Observable } from 'rxjs'; import { AbstractControl, FormControl, FormControlOptions, FormGroup, ValidatorFn } from '@angular/forms'; export declare enum FormOperationType { upserted = 0, deleted = 1 } export declare class FormOperationResult { type: FormOperationType; entity: T; constructor(type: FormOperationType, entity: T); } export declare type TFormGroupGeneric = { [key in keyof T]: AbstractControl; }; export declare type TFormGroupValue = { [key in keyof TFormGroupGeneric]: TFormGroupGeneric[key]['value']; }; export declare type TFormGroupControls = { [key in keyof TFormGroupGeneric]: TFormGroupGeneric[key]; }; export declare type ValueOptions = { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; }; export declare class TFormControl extends FormControl { value: T; valueChanges: Observable; constructor(params?: { formState?: any; validatorOrOpts?: ValidatorFn | ValidatorFn[] | FormControlOptions | null | undefined; }); reset(value: T, options?: ValueOptions): void; setValue(value: T, options?: ValueOptions): void; } export declare class TFormGroup extends FormGroup { value: TFormGroupValue; valueChanges: Observable>; controls: TFormGroupControls; constructor(controls: TFormGroupControls); reset(value?: Partial> | undefined, options?: ValueOptions): void; setValue(value: TFormGroupValue, options?: ValueOptions): void; getRawValue(): TFormGroupValue; }