import { IMaybeError, IValidators, ValidateOption } from '../validate';
import type { FormModel } from './form';
export interface IModel<Value> {
    readonly id: string;
    getRawValue(): Value;
    getSubmitValue(): any;
    pristine(): boolean;
    touched(): boolean;
    dirty(): boolean;
    valid(): boolean;
    patchValue(value: Value): void;
    validate(strategy: ValidateOption): Promise<any>;
    reset(): void;
    clear(): void;
    clearError(): void;
    initialize(value: Value): void;
    error: IMaybeError<Value>;
    owner: IModel<any> | null;
    form: FormModel | null | undefined;
    dispose(): void;
    validators: IValidators<Value>;
}
