/**
 * 应用服务模块
 * @date 2022-03
 * @author 何华东
 */
import { TyExternalApiClient, GetConfigInfoResponse } from "./TyExternalApi";
/**
 * 车场扩展信息
 */
export declare type ParkExtendConfig = {
    /**
     * 固定返回字段`车场id`
     */
    stcParkId: any;
    /**
     * 车场id
     */
    parkId?: any;
    /**
     * 其他属性
     */
    [prop: string]: any;
};
/**
 * 对统一接口/接口授权抽象的应用服务类, `appId`、`appSecret`
 *
 * ```ts
 * import { AppService } from "refs/nslib";
 * import { Inject, Singleton } from "typescript-ioc";
 *
 * @Inject
 * appService: AppService;
 *
 * let configInfo = await this.appService.getConfigInfoFromLocal();
 * ```
 * @see [接口授权](https://kp-open.keytop.cn/api/index.html#/service/platformManage)
 */
export default class AppService {
    externalApiClient: TyExternalApiClient;
    private configInfo;
    private refresh_configInfo_interval;
    /**
     * 获取appId的配置信息, 包括已授权车场的扩展配置
     *
     * redis缓存(30分钟), key: `{tapdId}_configInfo`
     *
     * 需配置tapdId @see {@link Config}, 否则会抛出异常
     * @deprecated {@link getConfigInfoFromLocal}
     */
    getConfigInfo(): Promise<GetConfigInfoResponse>;
    /**
     * 获取appId的配置信息 {@link getConfigInfo} 并查找匹配的车场扩展配置信息
     *
     * @param parkId 需要匹配的车场id
     * @deprecated {@link findParkExtendConfigFromLocal}
     */
    findParkExtendConfig(parkId: any): Promise<ParkExtendConfig>;
    /**
     * 获取appId的配置信息 {@link getConfigInfo} 并进一步获取匹配的车场扩展配置信息, 如果未匹配到则抛出异常

     * @param parkId 需要匹配的车场id
     * @deprecated {@link getParkExtendConfigFromLocal}
     */
    getParkExtendConfig(parkId: any): Promise<ParkExtendConfig>;
    /**
     * 获取appId的配置信息, 包括已授权车场的扩展配置
     *
     * 本地缓存(5分钟)
     */
    getConfigInfoFromLocal(): Promise<GetConfigInfoResponse>;
    /**
     * 获取appId的配置信息 {@link getConfigInfoFromLocal} 并查找匹配的车场扩展配置信息
     *
     * @param parkId 需要匹配的车场id
     */
    findParkExtendConfigFromLocal(parkId: any): Promise<ParkExtendConfig>;
    /**
     * 获取appId的配置信息 {@link getConfigInfoFromLocal} 并进一步获取匹配的车场扩展配置信息, 如果未匹配到则抛出异常

     * @param parkId 需要匹配的车场id
     */
    getParkExtendConfigFromLocal(parkId: any): Promise<ParkExtendConfig>;
}
export { AppService };
