import { z } from 'zod';
/**
 * 字符串验证规则
 */
export interface StringValidationRule {
    /**
     * 最小长度
     */
    minLength?: number;
    /**
     * 最大长度
     */
    maxLength?: number;
    /**
     * 正则表达式
     */
    pattern?: RegExp;
    /**
     * 是否必填
     */
    required?: boolean;
}
/**
 * 数字验证规则
 */
export interface NumberValidationRule {
    /**
     * 最小值
     */
    min?: number;
    /**
     * 最大值
     */
    max?: number;
    /**
     * 是否必填
     */
    required?: boolean;
}
/**
 * 验证结果
 */
export interface ValidationResult {
    /**
     * 是否有效
     */
    valid: boolean;
    /**
     * 错误信息
     */
    errors: string[];
}
/**
 * 验证工具类
 */
export declare class Validator {
    /**
     * 验证字符串
     */
    static validateString(value: unknown, rule: StringValidationRule, fieldName?: string): ValidationResult;
    /**
     * 验证数字
     */
    static validateNumber(value: unknown, rule: NumberValidationRule, fieldName?: string): ValidationResult;
    /**
     * 验证对象（使用 Zod Schema）
     */
    static validateObject<T>(schema: z.ZodSchema<T>, data: unknown): {
        valid: boolean;
        data?: T;
        errors: string[];
    };
    /**
     * 验证并抛出错误
     */
    static validateOrThrow<T>(schema: z.ZodSchema<T>, data: unknown, context?: Record<string, unknown>): T;
    /**
     * 验证 URL
     */
    static validateUrl(value: unknown, fieldName?: string): ValidationResult;
    /**
     * 验证邮箱
     */
    static validateEmail(value: unknown, fieldName?: string): ValidationResult;
}
/**
 * 常用验证 Schema
 */
export declare const commonSchemas: {
    /**
     * 非空字符串
     */
    nonEmptyString: z.ZodString;
    /**
     * 正整数
     */
    positiveInteger: z.ZodNumber;
    /**
     * 非负整数
     */
    nonNegativeInteger: z.ZodNumber;
    /**
     * URL
     */
    url: z.ZodString;
    /**
     * 邮箱
     */
    email: z.ZodString;
};
//# sourceMappingURL=validation.d.ts.map