import type { IDeepReadonly } from '../typings/common'; import type { ICore, IOpenFunctionValidatorResult, IOpenValidatorParams } from '../typings/core'; import type { IBaseSchema, IRuleItem } from '../typings/schema'; export interface IParams { value: any; rules: IBaseSchema['rules'] | IDeepReadonly; globalValidators: ICore['validators'] | undefined; globalValidatorParams: IOpenValidatorParams | undefined; locale: Required['locale']['validation']; } export interface IValidationError extends IOpenFunctionValidatorResult { [key: string]: any; } export declare class SchemaRulesValidator { static failUK: string | symbol; static isValidationError(err: any): err is IValidationError; static fail(data: any): never; private value; private rules; private locale; private globalValidators; private globalValidatorParams; constructor(params: IParams); setValue(value: IParams['value']): void; validate(): Promise; private validateRules; private validateRuleItem; private validateGlobal; } export declare function isValidFunctionResult(result: any): result is IOpenFunctionValidatorResult; export declare function isValidRules(rules: any): rules is IRuleItem[]; export declare function normalizeRules(rules: any): IRuleItem[]; export declare function validateRules(params: IParams): Promise;