import { StringFormatType } from '../utils/index';
import { CompareToValidatorStyle, IPValidatorOptions, NumericValidatorStyle, UrlValidatorOptions, ValidatorBase } from './index';
export declare class ValidationDefinition {
    private definitions;
    private currentName;
    constructor();
    get Definitions(): Map<string, ValidatorBase[]>;
    on(propertyName: string): this;
    add(...validator: ValidatorBase[]): this;
    get(): ValidatorBase[];
    clear(): this;
    isStrict(errorMessage?: StringFormatType): ValidationDefinition;
    isRequired(json: any): ValidationDefinition;
    isRequired(errorMessage?: StringFormatType): ValidationDefinition;
    isJsonSchema(json: any): ValidationDefinition;
    isJsonSchema(schema: object | string, errorMessage?: StringFormatType): ValidationDefinition;
    isMax(json: any): ValidationDefinition;
    isMax(max: number, errorMessage?: StringFormatType): ValidationDefinition;
    isMin(json: any): ValidationDefinition;
    isMin(min: number, errorMessage?: StringFormatType): ValidationDefinition;
    isInRange(json: any): ValidationDefinition;
    isInRange(min: number | Date, max: number | Date, errorMessage?: StringFormatType): ValidationDefinition;
    isInLength(json: any): ValidationDefinition;
    isInLength(min: number | Date, max: number | Date, errorMessage?: StringFormatType): ValidationDefinition;
    isPattern(json: any): ValidationDefinition;
    isPattern(pattern: RegExp, errorMessage?: StringFormatType): ValidationDefinition;
    isIP(json: any): ValidationDefinition;
    isIP(options?: IPValidatorOptions, errorMessage?: StringFormatType): ValidationDefinition;
    isEmail(json: any): ValidationDefinition;
    isEmail(errorMessage?: StringFormatType): ValidationDefinition;
    isMobile(json: any): ValidationDefinition;
    isMobile(style: string, errorMessage?: StringFormatType): ValidationDefinition;
    isPhone(json: any): ValidationDefinition;
    isPhone(style: string, errorMessage?: StringFormatType): ValidationDefinition;
    isNumeric(json: any): ValidationDefinition;
    isNumeric(style: NumericValidatorStyle, errorMessage?: StringFormatType): ValidationDefinition;
    isUrl(json: any): ValidationDefinition;
    isUrl(options?: UrlValidatorOptions, errorMessage?: StringFormatType): ValidationDefinition;
    isNegative(json: any): ValidationDefinition;
    isNegative(errorMessage?: StringFormatType): ValidationDefinition;
    isPositive(json: any): ValidationDefinition;
    isPositive(errorMessage?: StringFormatType): ValidationDefinition;
    isAlphabet(json: any): ValidationDefinition;
    isAlphabet(styles: string[], errorMessage?: StringFormatType): ValidationDefinition;
    isAlphaNumeric(json: any): ValidationDefinition;
    isAlphaNumeric(styles: string[], errorMessage?: StringFormatType): ValidationDefinition;
    isValueType(json: any): ValidationDefinition;
    isValueType(valueType: string, errorMessage?: StringFormatType): ValidationDefinition;
    compareTo(json: any): ValidationDefinition;
    compareTo(style: CompareToValidatorStyle, anotherTarget: any, anotherPropertyName: string, errorMessage?: StringFormatType): ValidationDefinition;
    isEqualTo(json: any): ValidationDefinition;
    isEqualTo(anotherTarget: any, anotherPropertyName: string, errorMessage?: StringFormatType): ValidationDefinition;
    isNotEqualTo(json: any): ValidationDefinition;
    isNotEqualTo(anotherTarget: any, anotherPropertyName: string, errorMessage?: StringFormatType): ValidationDefinition;
    isGreaterTo(json: any): ValidationDefinition;
    isGreaterTo(anotherTarget: any, anotherPropertyName: string, errorMessage?: StringFormatType): ValidationDefinition;
    isGreatOrEqualTo(json: any): ValidationDefinition;
    isGreatOrEqualTo(anotherTarget: any, anotherPropertyName: string, errorMessage?: StringFormatType): ValidationDefinition;
    isLesserTo(json: any): ValidationDefinition;
    isLesserTo(anotherTarget: any, anotherPropertyName: string, errorMessage?: StringFormatType): ValidationDefinition;
    isLessOrEqualTo(json: any): ValidationDefinition;
    isLessOrEqualTo(anotherTarget: any, anotherPropertyName: string, errorMessage?: StringFormatType): ValidationDefinition;
    isIn(json: any): ValidationDefinition;
    isIn(values: any[], errorMessage?: StringFormatType): ValidationDefinition;
    isNotIn(json: any): ValidationDefinition;
    isNotIn(values: any[], errorMessage?: StringFormatType): ValidationDefinition;
    isContains(json: any): ValidationDefinition;
    isContains(value: string, errorMessage?: StringFormatType): ValidationDefinition;
    isNotContains(json: any): ValidationDefinition;
    isNotContains(value: string, errorMessage?: StringFormatType): ValidationDefinition;
    isObject(json: any): ValidationDefinition;
    isObject(errorMessage?: StringFormatType): ValidationDefinition;
    isString(json: any): ValidationDefinition;
    isString(errorMessage?: StringFormatType): ValidationDefinition;
    isFunction(json: any): ValidationDefinition;
    isFunction(errorMessage?: StringFormatType): ValidationDefinition;
    isDate(json: any): ValidationDefinition;
    isDate(errorMessage?: StringFormatType): ValidationDefinition;
    isNumber(json: any): ValidationDefinition;
    isNumber(errorMessage?: StringFormatType): ValidationDefinition;
    isPostalCode(json: any): ValidationDefinition;
    isPostalCode(style: string, errorMessage?: StringFormatType): ValidationDefinition;
    isNSID(json: any): ValidationDefinition;
    isNSID(style: string, errorMessage?: StringFormatType): ValidationDefinition;
    isJson(json: any): ValidationDefinition;
    isJson(errorMessage?: StringFormatType): ValidationDefinition;
}
