export declare class RuleValue { data: any; messages?: any; constructor(data: any, messages?: any); } declare type Message = T | ((context?: any, args?: any) => T); interface ClassArgs { new (): any; } declare type ArrayRule = T | T[]; declare type RuleOption = ArrayRule | ClassArgs | ((args: any, context: any) => ArrayRule | Promise); export declare function Rules(options: RuleOption, messages?: Message<{ [key: string]: string; }>): any; export {};