/**
 * 验证参数是否为空
 * @param str               待验证的参数
 * @param ignoreWhitespace  如果是字符串是否忽略空格(包括空白字符串以及[\r\t\n]之类的制表符)，默认为true
 */
export declare function isBlank(str?: any, ignoreWhitespace?: boolean): boolean;
/**
 * 屏蔽手机号，中间部分用 * 展示
 * @param mobile 待屏蔽的手机号
 * @returns 屏蔽后的手机号，例如：123 **** 1234
 */
export declare function shieldMobile(mobile: string): string;
/**
 * 验证参数是否是数字
 * @param str 待验证的字符串
 * @param numericParam 通过参数标记是否包含小数、正数
 * @param numericParam.isPositive 是否是正数, 默认: false
 * @param numericParam.isFloat 是否是小数, 默认: true
 * @returns true 是数字, false 不是数字
 */
export declare function isNumeric(str: string, numericParam?: {
    isPositive?: boolean;
    isFloat?: boolean;
}): boolean;
/**
 * 验证参数是否是Boolean 类型
 * @param str 待验证的字符串
 * @returns
 */
export declare function isBoolean(str: string): boolean;
/** 生成随机数的选项 */
interface RandomStringOption {
    /** 生成指定长度的随机字符串 */
    length: number;
    /** 是否包含英文字母, 默认为: true */
    hasLetter?: boolean;
    /** 生成纯数字的随机数时, 首位是否允许为 0, 默认为: true */
    firstIsZero?: boolean;
}
interface RangeRandomOption {
    /** 配合 max 生成 [min~max] 之间的随机数 */
    min: number;
    /** 配合 min 生成 [min~max] 之间的随机数 */
    max: number;
    /** 生成的随机数，是否包含 max, 默认: false */
    hasEnd?: boolean;
    /** 生成的随机数是否是整数, 默认: true */
    isInteger?: boolean;
}
/**
 * 生成指定长度的随机数
 *
 * @param len - 生成的随机数长度
 *
 * @example <caption>1. 生成指定长度的随机字符串</caption>
 * random(1); // 长度为 1 的随机字符串
 */
export declare function random(len: number): string;
/**
 * 生成介于 [min, max] 之间的随机数
 *
 * @param option 配置项
 * @param option.min 生成介于 [min, max] 之间的随机数
 * @param option.max 生成介于 [min, max] 之间的随机数
 * @param option.hasEnd 生成的随机数，是否包含 max, 默认: false
 * @param option.isInteger 生成的随机数是否是整数, 默认: true
 */
export declare function random(option: RangeRandomOption): number;
/**
 * 生成指定长度随机数
 *
 * @param option 配置项
 * @param option.length 生成的随机数长度
 * @param option.hasLetter 是否包含英文字母, 默认为: true
 * @param option.firstIsZero 生成纯数字的随机数时, 首位是否允许为 0, 默认为: true
 *
 * @example <caption>2. 生成纯数字且首位不能为0长度为1的随机字符</caption>
 * random({ length: 1, hasLetter: false, firstIsZero: false })
 */
export declare function random(option: RandomStringOption): string;
/**
 * 带有错误名称标记的错误类型
 */
export declare class BaseError extends Error {
    /**
     * 错误名称，类似于 Java 中的不同的 Exception[NullPointerException]；
     * 增加 name 字段，表明不同的错误，当需要根据不同的错误执行不同的处理的时候，会很有用
     */
    name: string;
    /**
     * 构造一个 name = BaseError 的错误信息
     * @param message 错误描述
     */
    constructor(message: string);
    /**
     *
     * @param name 错误名称
     * @param message 错误描述
     */
    constructor(name: string, message: string);
}
/**
 * 将金额数字格式化为金额格式显示并且会保留两位小数[去除多余的位数，不是四舍五入，而是直接舍去]  1234523432.23 => 123,123,123.23
 * @param {number} number 待转换的金额数字
 * @return string
 */
export declare function formatMoney(number: number): string;
/**
 * 将风格由大写风格转换为下划线风格: HelloWorld -> hello-world
 * @param name 命名, 例如: HelloWorld
 * @param connector 连接符, 默认为: _
 */
export declare function snakeCaseStyle(name: string, connector?: string): string;
/**
 * 对数字进行四舍五入处理
 * @param num 需要进行四舍五入的数字
 * @param precision 精度，默认为2，即保留小数点后两位
 * @param roundType 舍入类型，默认为0，提供三种取值:
 *        0: 标准四舍五入
 *        1: 向上取整
 *        2: 向下取整
 * @returns 返回经过指定方式舍入后的数字
 */
export declare function round(num: number, precision?: number, roundType?: 0 | 1 | 2): number;
/**
 * 反转字符串
 */
export declare function reverseStr(str: string): string;
/** 数据格式化配置 */
interface FormDataConfig<T> {
    /** 配置需要转换为数字的字段 */
    numberFields?: (keyof T)[];
    /** 配置需要转换为字符串的字段 */
    stringFields?: (keyof T)[];
    /** 自定义的格式化 */
    formatter?: {
        [K in keyof T]?: "number" | "string" | ((value: any) => number | string);
    };
}
/**
 * 嵌套的 json 指定 key 数据
 * @param data JSON格式数据
 * @param keys 待获取的数据 key, 可以通过 [.] 获取嵌套数据, 例如: a.b.c
 * @returns
 */
export declare function getJSONValue(data: Record<string, any>, keystr: string): Record<string, any> | null;
/**
 * 数据格式化主要用于数据类型转换
 * @param data 待转换数据类型的数据
 * @param config 转换配置
 * @returns
 */
export declare function formatData<T extends Record<string, any>>(data: T, config?: FormDataConfig<T>): T;
export {};
