import { ValidationResult, Rule, ErrorMessages } from '../type'; declare class XYValidator { private static instance; private static defaultResult; private errorMessages; /** * 验证器 */ private static validators; constructor(errorMessages?: Partial); /** * 获取验证器实例(单例模式) * @param {Partial} errorMessages - 自定义错误消息 * @returns {Validator} 验证器实例 */ static getInstance(errorMessages?: Partial): XYValidator; /** * 验证参数是否符合约束条件 * * @param { unknown } params - 待验证的参数 * @param { Rule | Record } constraints - 验证规则,可以是单个规则或规则对象 * @param { string } parentPath - 当前参数的路径,用于嵌套验证时构建完整的参数路径 * @returns {ValidationResult} 验证结果,包含验证是否通过、错误信息等 */ validate(params: unknown, constraints?: Rule | Record, parentPath?: string): ValidationResult; /** * 格式化错误消息,替换模板中的占位符 * @param {string} template - 错误消息模板 * @param {Record} params - 替换参数 * @returns {string} 格式化后的错误消息 */ private formatErrorMessage; /** * 验证单个值是否符合规则 * @param {unknown} param - 待验证的参数值 * @param {Rule} constraint - 验证规则 * @param {string} path - 参数路径 * @returns {ValidationResult} 验证结果 */ private validateSingleValue; /** * 验证对象的所有属性是否符合规则 * @param {Record} params - 待验证的对象 * @param {Record} constraints - 验证规则对象 * @param {string} parentPath - 父级路径 * @returns {ValidationResult} 验证结果 */ private validateObject; /** * 判断是否为约束对象 * @param {Rule | Record} constraints - 待判断的约束条件 * @returns {boolean} 是否为约束对象 */ private isConstraintObject; } export default XYValidator;