import { IValidator, IValidatorDeps, IValidationOptions, IValidationResult, ITypeValidator, IValidatorOptions } from "./interfaces/IValidator";
import { BaseService } from "@/types/services";
export declare class Validator extends BaseService implements IValidator, ITypeValidator {
    private readonly deps;
    private readonly debug;
    constructor(deps: IValidatorDeps, options?: IValidatorOptions);
    initialize(): Promise<void>;
    cleanup(): void;
    private logDebug;
    private handleValidationError;
    validate<T>(value: unknown, fieldName: string, options?: IValidationOptions): IValidationResult;
    private validateString;
    private validateNumber;
    private validateArray;
    private validateObject;
    validatePath(path: string, context: string): void;
    private runCustomValidator;
    isString(value: unknown): value is string;
    isNumber(value: unknown): value is number;
    isBoolean(value: unknown): value is boolean;
    isObject(value: unknown): value is object;
    isArray(value: unknown): value is unknown[];
    isDate(value: unknown): value is Date;
    validateNotEmpty<T>(value: T | null | undefined, fieldName: string): T;
    validateType(value: unknown, expectedType: string, fieldName: string): void;
    validateRange(value: number, min: number, max: number, fieldName: string): void;
    validateEnum<T extends string>(value: string, enumValues: readonly T[], fieldName: string): T;
    validatePattern(value: string, pattern: RegExp, fieldName: string): void;
}
