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;
    }
}
