/**
 * 共享库配置模块
 * @date 2022-03
 * @author 何华东
 */
import { AxiosResponse } from 'axios';
export interface Config {
    basic: BasicConfig;
    /**
     * 统一接口配置接口
     */
    tyApi: TyApiConfig;
    /**
     * 非标接口配置
     */
    nonStandardApi?: NonStandardApiConfig;
    /**
     * cron定时任务配置
     */
    cron?: CronConfig;
    /**
     * ioredis配置
     */
    ioredis?: any;
    /**
     * ali-oss配置
     */
    aliOss?: any;
    /**
     * 车场镜像knex配置,参考knex/mysql
     */
    parkImageKnex?: any;
}
/**
 * 基础配置
 */
export interface BasicConfig {
    tapdId: any;
}
/**
 * 统一接口配置接口
 */
export interface TyApiConfig {
    /**
     * 统一接口根地址
     */
    baseURL?: string;
    /**
     * 请求超时时间(毫秒)
     */
    timeout?: number;
    appId: string;
    appSecret: string;
    /**
     * axios异常处理
     */
    axiosErrorHandler?: (error: any) => any;
    /**
     * axios响应处理
     */
    axiosResponseHandler?: (response: AxiosResponse<any>) => AxiosResponse<any> | Promise<AxiosResponse<any>>;
}
/**
 * 非标接口配置
 */
export interface NonStandardApiConfig {
    /**
     * 3des加密key
     */
    key: string;
    /**
     * 3des加密偏移量
     */
    iv: any;
}
/**
 * cron定时任务配置
 */
export interface CronConfig {
    /**
     * 是否启用定时任务
     */
    enabled?: boolean;
}
