export declare enum PasswordRuleEnum {
    /** 大写字母 */
    Large = 1,
    /** 小写字母 */
    Small = 2,
    /** 大小写字母 */
    LargeSmall = 3,
    /** 数字 */
    Number = 4,
    /** 大写字母 数字 */
    LargeNumber = 5,
    /** 小写字母 数字 */
    SmallNumber = 6,
    /** 大小写字母 数字 */
    LargeSmallNumber = 7
}
/**
 * 验证拓展类
 */
export declare class Verify {
    /** 像是社会统一信用代码正则 */
    static readonly LIKE_USCI_REGEXP: RegExp;
    /** IP地址验证正则 */
    static readonly IP_ADDRESS_REGEXP: RegExp;
    /** 手机号码正则表达式 */
    static readonly PHONE_NUMBER_REGEXP: RegExp;
    /** 电话号码正则表达式 */
    static readonly TELL_PHONE_NUMBER_REGEXP: RegExp;
    /** 电子邮箱正则 */
    static readonly EMAIL_REGEXP: RegExp;
    /** 油车车牌正则 */
    static readonly VEHICLE_NUMBER_REGEXO: RegExp;
    /** 电车车牌正则 */
    static readonly ELECTRIC_VEHICLE_NUMBER_REGEXO: RegExp;
    /** 像是身份证号码正则 */
    static readonly LIKE_ID_CARD_NUMBER_REGEXO: RegExp;
    /** 常见键盘字符 */
    static readonly COMMON_KEYBOARD_CHARACTERS: RegExp;
    /**
   * 像是社会统一信用代码
   * @param usci 社会统一信用代码
   * @returns
   */
    static likeUsci(usci: string): boolean;
    /**
   * 是否是null或者""或者\{\}
   * @param obj 字符串|对象
   * @returns
   */
    static isNullOrEmpty(obj: string | object): boolean;
    /**
   * 校验是否是11位手机号码
   * @param phoneNumber 手机号码
   * @returns
   */
    static isPhoneNumber(phoneNumber: string): boolean;
    /**
   * 校验是否是固定电话
   * @param tellPhoneNumber 固定电话
   * @returns
   */
    static isTellPhoneNumber(tellPhoneNumber: string): boolean;
    /**
   * 是否是邮箱
   * @param email 邮箱
   * @returns
   */
    static isEmail(email: string): boolean;
    /**
   * 是否是统一社会信用代码
   * @param usci 统一社会信用代码
   * @returns
   */
    static isUnifiedSocialCreditIdentifier(usci: string): boolean;
    /**
   * 是否是车牌号
   * https://www.cnblogs.com/mmzuo-798/p/14929545.html
   * @param vehicleNumber 车牌号
   * @returns
   */
    static isVehicleNumber(vehicleNumber: string): boolean;
    /**
   * 像身份证号
   * @param num 身份证号
   * @returns
   */
    static likeIDCardNumber(num: string): boolean;
    /**
   * 是否是身份证号码
   * @param num 身份证号码
   */
    static isCitizenIdentificationNumber(num: string): boolean;
    /**
   * 密码规则校验
   * @param password 密码
   * @param rule 规则
   * @param minLength 最小长度
   * @param maxLength 最大长度
   * @returns
   */
    static passwordRules(password: string, rule?: PasswordRuleEnum, minLength?: number, maxLength?: number): boolean;
    /**
   * 版本对比 仅支持 x.x.x ...这种类型
   * @param current 当前版本
   * @param target 目标版本
   * @returns -1 小于 0 等于 1 大于
   */
    static versionComparison(current: string, target: string): 0 | 1 | -1;
    /**
   * IP地址验证
   * @param ipaddr 验证ip
   * @returns
   */
    static isIPAddress(ipaddr: string): boolean;
    /**
   * 密码难度
   *
   * 检测密码包含类型
   * 	数字
   * 	大写字母
   * 	小写字母
   * 	常见字符
   *
   * @param password 密码
   * @param minLevel 最小难度
   */
    static passwordDifficulty(password: string, minLevel: number | undefined): number | boolean;
}
declare global {
    interface String {
        /**
         * 像是社会统一信用代码
         */
        likeUsci: boolean;
        /**
         * 是否是null或者""或者{}
         **/
        isNullOrEmpty: boolean;
        /**
         * 校验是否是11位手机号码
         */
        isPhoneNumber: boolean;
        /**
         * 校验是否是固定电话
         */
        isTellPhoneNumber: boolean;
        /**
         * 是否是邮箱
         * @param email 邮箱
         * @returns
         */
        isEmail: boolean;
        /**
         * 是否是统一社会信用代码
         */
        isUnifiedSocialCreditIdentifier: boolean;
        /**
         * 是否是车牌号
         */
        isVehicleNumber: boolean;
        /**
         * 像身份证号
         */
        likeIDCardNumber: boolean;
        /**
         * 是否是身份证号码
         */
        isCitizenIdentificationNumber: boolean;
        /**
         * 是否是IP地址 IPv4
         */
        isIPAddress: boolean;
        /**
         * 密码规则校验
         * @param rule 规则
         * @param minLength 最小长度
         * @param maxLength 最大长度
         * @returns
         */
        passwordRules: (rule?: PasswordRuleEnum, minLength?: number, maxLength?: number) => boolean;
        /**
         * 版本对比 仅支持 x.x.x ...这种类型
         * @param target 目标版本
         * @returns -1 小于 0 等于 1 大于
         */
        versionComparison(target: string): 0 | 1 | -1;
    }
    interface Object {
        /**
         * 是否是null或者""或者{}
         **/
        isNullOrEmpty: boolean;
    }
}
