import { IAggregate, IEntity, IValueObject } from "../core/interface/types";
export declare class Validator {
    private static instance;
    private constructor();
    static create(): Validator;
    private static isSpecialChar;
    isArray(props: any): boolean;
    isString(props: any): boolean;
    isNumber(props: any): boolean;
    isDate(props: any): boolean;
    isObject(props: any): boolean;
    isNull(props: any): boolean;
    isUndefined(props: any): boolean;
    isBoolean(props: any): boolean;
    isFunction(props: any): boolean;
    isEntity(props: any): props is IEntity<any>;
    isAggregate(props: any): props is IAggregate<any>;
    isValueObject(props: any): props is IValueObject<unknown>;
    isSymbol(props: any): boolean;
    isID(props: any): boolean;
    number(target: number): {
        isEqualTo: (value: number) => boolean;
        isGreaterThan: (value: number) => boolean;
        isLessThan: (value: number) => boolean;
        isLessOrEqualTo: (value: number) => boolean;
        isGreaterOrEqualTo: (value: number) => boolean;
        isSafeInteger: () => boolean;
        isPositive: () => boolean;
        isNegative: () => boolean;
        isEven: () => boolean;
        isInteger: () => boolean;
        isBetween: (min: number, max: number) => boolean;
        isBetweenOrEqual: (min: number, max: number) => boolean;
    };
    string(target: string): {
        isSpecialChar: (index?: number) => boolean;
        hasSpecialChar: () => boolean;
        hasLengthGreaterThan: (length: number) => boolean;
        hasLengthGreaterOrEqualTo: (length: number) => boolean;
        hasLengthLessThan: (length: number) => boolean;
        hasLengthLessOrEqualTo: (length: number) => boolean;
        hasLengthEqualTo: (length: number) => boolean;
        hasLengthBetween: (min: number, max: number) => boolean;
        hasLengthBetweenOrEqual: (min: number, max: number) => boolean;
        includes: (value: string) => boolean;
        isEmpty: () => boolean;
        match: (regex: RegExp) => boolean;
        hasOnlyNumbers: () => boolean;
        hasOnlyLetters: () => boolean;
        isEqual: (value: string) => boolean;
    };
    date(target: Date): {
        isBeforeThan: (value: Date) => boolean;
        isBeforeOrEqualTo: (value: Date) => boolean;
        isAfterNow: () => boolean;
        isBeforeNow: () => boolean;
        isBetween: (start: Date, end: Date) => boolean;
        isWeekend: () => boolean;
        isAfterThan: (value: Date) => boolean;
        isAfterOrEqualTo: (value: Date) => boolean;
    };
}
declare const _default: Validator;
export default _default;
//# sourceMappingURL=validator.d.ts.map