export declare class ValidationService { private errors; private currentObject; constructor(obj: T); clear(): this; getErrorMessages(): Array; containsErrors(): boolean; required(prop: (item: T) => string | number | Date, errorMessage: string): this; email(prop: (item: T) => string, errorMessage: string): this; range(prop: (item: T) => number, min: number, max: number, errorMessage: string): this; max(prop: (item: T) => number, max: number, errorMessage: string): this; min(prop: (item: T) => number, min: number, errorMessage: string): this; period(prop: (item: T) => Date, min: Date, max: Date, errorMessage: string): this; minLengt(prop: (item: T) => string, minLength: number, errorMessage: string): this; maxLengt(prop: (item: T) => string, maxLength: number, errorMessage: string): this; int(prop: (item: T) => number, errorMessage: string): this; containsOnly(prop: (item: T) => string, characters: string, ignoreCase: boolean, errorMessage: string): this; ip(prop: (item: T) => string, errorMessage: string): this; equals(prop: (item: T) => any, other: (item: T) => any, errorMessage: string): this; custom(prop: (item: T) => any, func: (value: any) => boolean, errorMessage: string): this; private _cachedPropertyNames; private getCachedPropertyname(prop); private getPropertyname(prop); private getPropertyValue(prop); private addValidationError(prop, errorMessage); } export interface IValidationError { property: string; messages: Array; }