import { ApiRequestParams, ISessionManager } from "./interfaces";
export declare abstract class BaseSessionManager<TSessionData> implements ISessionManager<TSessionData> {
    sessionId: string;
    checkSessionParams(): void;
    /**
     * Common handler method for making an http request.
     *
     * Note: Embed all the query parameters in the path itself.
     */
    protected request<T>({ method, url, data, headers }: ApiRequestParams): Promise<T>;
    abstract createSession(data: TSessionData): Promise<string>;
    abstract authorizeSession(): Promise<TSessionData>;
    abstract updateSession(data: Partial<TSessionData>): Promise<void>;
    abstract invalidateSession(): Promise<boolean>;
}
