import { TargetType } from '../context/base.object';
import { IMySQLConfig } from '../database/db.mysql.config';
import { IOssConfig } from '../database/db.oss.config';
import { IocLoadOptions } from '../mvc/ioc.load.options';
import { ICacheConfig } from '../utils/access/cache.access';
import { RabbitMQConfig } from '../utils/access/rabbitmq.access';
import { BaseModelHumpConfig } from '../utils/model.hump.helper';
/** 基础配置信息 */
export interface IBaseConfig {
    /** 数据字段坨峰转化配置 */
    modelHelperConfig?: BaseModelHumpConfig;
    /** mysql 数据库配置 */
    dbConfig?: IMySQLConfig | Map<string, IMySQLConfig>;
    /** oss 配置 */
    ossConfig?: IOssConfig;
    /** redis 缓存配置 */
    cacheConfig?: ICacheConfig;
    /** rabbitmq 配置 */
    rabbitmqConfig?: RabbitMQConfig;
    /** 接口地址 */
    apiBaseUrl?: string;
    /** 访问接口的超时设置 单位毫秒, 默认 `60000` */
    apiTimeOut?: number;
    /** 自动扫描加载选项 */
    loadOpts?: IocLoadOptions;
}
/** 应用基础配置 */
export declare class BaseConfig {
    /** 解析环境变量中的数字 */
    static parseEnvNumber(env: string | undefined, defaultValue?: number): number;
    /** 解析环境变量中的字符串 */
    static parseEnvStr(env: string | undefined, defaultValue?: string): string;
    /** 解析环境变量中的对象 */
    static parseEnvObject<T>(env: string | undefined, target: TargetType<T>, defaultValue?: T, mergeAllField?: boolean): T;
    /** 初始化数据库配置 */
    static initDBConfig(env: string | undefined, defaultConfig: IMySQLConfig): IMySQLConfig;
    /** 初始化阿里云OSS配置 */
    static initOssConfig(env: string | undefined, defaultConfig: IOssConfig): IOssConfig;
}
