import { TypeValidator } from "../validators-fn";
import { TypeValidatorWithContext } from "../validators-fn/base";
import { Validator } from "./validator";
export declare class ValidatorItem<T, TC extends Record<string, any>> {
    #private;
    valid: boolean | undefined;
    name: string;
    message: string | undefined;
    get: () => T;
    set: (value: T) => void;
    container: () => TC;
    validator: Validator<TC>;
    context: Record<string, any>;
    setValidations(value: TypeValidator<T> | TypeValidatorWithContext<T, any>[] | undefined): void;
    reset(): void;
    markAsError(msg: string): void;
    /**
     * @deprecated
     * replaced with `markAsError`
     * @param msg
     * @see #markAsError
     */
    error(msg: string): void;
    markAsValid(): void;
    apply(value: T): {
        status?: boolean;
        err?: string;
    };
    validate: () => void;
    validateAsync: () => Promise<void>;
}
