import { APIItem } from '../../config/api';
import BaseModule from '../../common/Module';
import { CmdEnum, EventMap, CmdMap } from '../../protocol/service';
import { ProxyConfig } from '../../types/service';
import { ModuleName } from '../../types/protocol';
export default class ServiceModule extends BaseModule<ModuleName.service, EventMap> implements CmdMap {
    protected environment: string;
    protected larkSession: {
        ide?: string;
        debug?: string;
    };
    protected formatLarkSession(larkSession: string, larkSessionList: string[]): string;
    proxy: ProxyConfig;
    customHeaders: Record<string, string>;
    constructor();
    created(): Promise<void>;
    private updateCustomHeaders;
    [CmdEnum.Init](): Promise<void>;
    [CmdEnum.Update](config: {
        environment?: string;
        larkSession?: string;
        larkSessionList?: string[];
        type?: keyof ServiceModule['larkSession'];
    }): void;
    [CmdEnum.GetEnvironment](): {
        environment: string;
    };
    [CmdEnum.SetProxy](proxyConfig: ProxyConfig): void;
    [CmdEnum.SetCustomHeaders](customHeaders: Record<string, string>): void;
    [CmdEnum.Request](api: APIItem, params?: any, options?: {
        headers?: {};
        responseHeader?: boolean;
        responseCode?: boolean;
        timeout?: number;
        traceId?: string;
        logId?: boolean;
    }): Promise<any>;
}
