import { Signal, WritableSignal } from '@angular/core';
import { Subject } from 'rxjs';
import { ValidatorError } from '../errors/validator-error';
import { IValidator, ValidationUpdate } from "./interface";
export declare class ValueValidation<TValue> {
    readonly validators: Array<IValidator>;
    isValidating: Signal<boolean>;
    errors: Signal<Array<ValidatorError>>;
    isValid: Signal<boolean>;
    update: Subject<ValidationUpdate>;
    nestedErrors: Map<string, Array<ValidatorError>>;
    nestedValidating: Map<string, boolean>;
    protected writableIsValidating: WritableSignal<boolean>;
    protected writableErrors: WritableSignal<Array<ValidatorError>>;
    constructor(validators: Array<IValidator>);
    setErrors(errors: ValidatorError[]): void;
    setIsValidating(isValidating: boolean): void;
}
