import { HttpClient, HttpHeaders, Injector } from '@farris/devkit-vue';
import { SessionHandlingStrategy } from './handling-strategy';
import { SessionStorageStrategy } from '../storage-strategies';
import { FrameworkSessionService } from '../../framework-session.service';
import { RuntimeContext } from '../../types';
/**
 * 会话复用场景下会话处理策略
 */
export declare class BefUnifiedSessionHandlingStrategy extends SessionHandlingStrategy {
    protected injector: Injector;
    /**
     * 构造函数
     */
    constructor(storageStrategy: SessionStorageStrategy, frameworSessionService: FrameworkSessionService, httpClient: HttpClient, baseUrl: string, injector: Injector);
    /**
     * 获取会话复用的session id
     * @param runtimeContext runtime context
     */
    getSessionId(runtimeContext: RuntimeContext): Promise<string>;
    /**
     * 设置session id
     * @param sessionId session id
     * @param runtimeContext  runtime context
     */
    setSessionId(sessionId: string, runtimeContext: RuntimeContext): void;
    /**
     * 清空session id
     * @param runtimeContext runtime context
     */
    clearSessionId(runtimeContext: RuntimeContext): void;
    /**
     * 处理请求header
     * @param headers
     * @param runtimeContext runtime context
     */
    handleRequestHeaders(headers: HttpHeaders, runtimeContext?: RuntimeContext): HttpHeaders;
    /**
     * 处理返回header
     * @param headers
     */
    handleReponseHeaders(headers: HttpHeaders): void;
    /**
     * 构造session存储的key
     * @param runtimeContext runtime context
     */
    protected getSessionStorageKey(runtimeContext?: RuntimeContext): string;
}
