/**
 * 配置模块
 * @date 2022-03
 * @author 何华东
 */
/**
 * 共享库配置， 目前只支持通过Ioc进行配置
 *
 * `项目基础配置`、`国际化配置`、`统一接口配置`、`非标接口配置`、`ioredis配置`、`车场镜像库mysql配置`
 *
 * ```ts
 * //1.initScript.ts 初始化脚本
 * //确保在共享库被加载之前，配置注册到ioc
 * export async function init(): Promise<any> {
 *   try {
 *     require('local-lib/Config');
 *   } catch (error) {}
 * }
 *
 * //2.Config.ts 本地库
 * //在Config.ts中需要重命名Config，否则会报错
 * import { Config as NsConfig } from "refs/nslib";
 *
 * export let ns_config: NsConfig = {
 *   basic: { tapdId: 'xxxxxx'},
 *   tyApi: {
 *     appId: 'xxxxx',
 *     appSecret: 'xxxxxxxxx',
 *   }
 * }
 *
 * Container.bindName('config').to(ns_config);
 * ```
 */
export declare type Config = {
    /**
     * 基础配置
     */
    basic?: BasicConfig;
    /**
     * 国际化配置
     */
    global?: GlobalConfig;
    /**
     * 统一接口配置
     */
    tyApi?: TyApiConfig;
    /**
     * 非标接口配置
     */
    nonStandardApi?: NonStandardApiConfig;
    /**
     * ioredis配置
     */
    ioredis?: any;
    /**
     * ali-oss配置
     */
    aliOss?: any;
    /**
     * 华为-obs配置
     */
    huaweiObs?: any;
    /**
     * 车场镜像MySQL配置
     */
    parkImageMysql?: any;
    [prop: string]: any;
};
/**
 * 项目基础配置
 *
 * @see {@link Config}
 */
export declare type BasicConfig = {
    /**
     * 项目[tapdId](https://www.tapd.cn/my_worktable)
     */
    tapdId: any;
};
/**
 * 国际化配置
 *
 * @see {@link Config}
 */
export declare type GlobalConfig = {
    /**
     * 是否启用国际化
     */
    enabled?: boolean;
    [prop: string]: any;
};
/**
 * 统一接口配置接口
 *
 * @see {@link Config}
 */
export declare type TyApiConfig = {
    /**
     * 统一接口根地址，默认为配置中心统一接口地址
     */
    baseUrl?: string;
    /**
     * 请求超时时间(毫秒), 默认为`10s`
     */
    timeout?: number;
    appId: string;
    appSecret: string;
    /**
     * 是否记录API调用成功日志, 默认为`true`
     */
    isLog?: boolean;
    /**
     * 多个serviceCode用逗号隔开
     */
    serviceCode?: string;
    /**
     * 语言
     */
    acceptLanguage?: string;
};
/**
 * 非标接口配置
 *
 * @see {@link Config}
 */
export declare type NonStandardApiConfig = {
    /**
     * 是否启用加解密
     */
    secure?: boolean;
    /**
     * 3des加密key，共享库已提供默认值
     */
    key?: string;
    /**
     * 3des加密偏移量，共享库已提供默认值
     */
    iv?: string;
};
/**
 * ioc配置provider
 */
export declare class IocConfigProvider {
    /**
     * return Container.getValue('config.basic')
     */
    static getBasicConfig(): BasicConfig;
    /**
     * return Container.getValue('config.tyApi')
     */
    static getTyApiConfig(): TyApiConfig;
    /**
     * return Container.getValue('config.global')
     */
    static getGlobalConfig(): GlobalConfig;
    /**
     * return Container.getValue('config.nonStandardApi')
     */
    static getNonStandardApiConfig(): NonStandardApiConfig;
    /**
     * return Container.getValue('config.ioredis')
     */
    static getIORedisConfig(): any;
    /**
     * return Container.getValue('config.aliOss')
     */
    static getAliOssConfig(): any;
    /**
     * return Container.getValue('config.huaweiObs')
     */
    static getHuaweiObsConfig(): any;
    /**
     * return Container.getValue('config.parkImageMysql')
     */
    static getParkImageMysqlConfig(): any;
}
