interface LengthMin { min: number; max?: number; } interface LengthMax { min?: number; max: number; } interface ContainsUppercase { uppercase: number; numbers?: number; specialCharacters?: number; } interface ContainsNumbers { uppercase?: number; numbers: number; specialCharacters?: number; } interface ContainsSpecialCharacters { uppercase?: number; numbers?: number; specialCharacters: number; } declare type ContainsRules = ContainsUppercase | ContainsNumbers | ContainsSpecialCharacters | (ContainsUppercase & ContainsNumbers & ContainsSpecialCharacters); interface LengthRule { length: LengthMin | LengthMax | (LengthMin & LengthMax); } interface ContainsRule { contains: ({ atLeast?: number; }) & ContainsRules; } export declare type ValidationRules = RequireAtLeastOne; declare type RequireAtLeastOne = Pick> & { [K in Keys]-?: Required> & Partial>>; }[Keys]; declare const validation: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], { i18n: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], { invalidator: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], import("@dojo/framework/core/interfaces").MiddlewareMap<() => { api: {}; properties: {}; }>, () => void>; injector: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], { getRegistry: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], import("@dojo/framework/core/interfaces").MiddlewareMap<() => { api: {}; properties: {}; }>, () => import("@dojo/framework/core/RegistryHandler").RegistryHandler | null>; invalidator: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], import("@dojo/framework/core/interfaces").MiddlewareMap<() => { api: {}; properties: {}; }>, () => void>; destroy: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], import("@dojo/framework/core/interfaces").MiddlewareMap<() => { api: {}; properties: {}; }>, (destroyFunction: () => void) => void>; }, { subscribe(label: string | symbol, callback?: Function | undefined): (() => void) | undefined; get(label: string | symbol): T | null; }>; getRegistry: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], import("@dojo/framework/core/interfaces").MiddlewareMap<() => { api: {}; properties: {}; }>, () => import("@dojo/framework/core/RegistryHandler").RegistryHandler | null>; diffProperty: import("@dojo/framework/core/interfaces").MiddlewareResultFactory[], import("@dojo/framework/core/interfaces").MiddlewareMap<() => { api: {}; properties: {}; }>, { any, K extends keyof ReturnType>(property: K, properties: T, diff: (current: ReturnType, next: ReturnType) => void | ReturnType[K]): void; (propertyName: string, diff: (current: any, next: any) => void): void; }>; }, { localize(bundle: import("@dojo/framework/i18n/i18n").Bundle): import("@dojo/framework/core/interfaces").LocalizedMessages; set(localeData?: import("@dojo/framework/core/interfaces").LocaleData | undefined): void; get(): any; }>; }, (rules: RequireAtLeastOne) => { (value: string): { valid: boolean; message: string; } | undefined; describe(): string[]; }>; export default validation;