import { AbstractProcess } from "../abstract/AbstractProcess.js";
export declare abstract class AbstractValidator<T> extends AbstractProcess {
    constructor();
    validate(target: T): void;
    protected abstract validateProperty<K extends keyof T>(key: K, value: T[K]): void;
    protected validateNumber<K extends keyof T>(key: K, value: T[K]): void;
    protected validateBoolean<K extends keyof T>(key: K, value: T[K]): void;
    protected validateString<K extends keyof T>(key: K, value: T[K]): void;
    protected validateObject<K extends keyof T>(key: K, value: T[K]): void;
    protected logValidationSuccess(key: keyof T, value: T[keyof T]): void;
    protected throwValidationError<K extends keyof T>(key: K, value: T[K], message: string): void;
}
//# sourceMappingURL=AbstractValidator.d.ts.map