export type IRequestBody = Record<string, unknown>;
export interface ApiRequestParams {
    url: string;
    method?: string;
    headers?: Record<string, string>;
    data?: IRequestBody;
}
export interface ISessionManager<TSessionData> {
    sessionId: string;
    createSession(data: TSessionData): Promise<string>;
    authorizeSession(): Promise<TSessionData>;
    updateSession(data: Partial<TSessionData>): Promise<void>;
    invalidateSession(): Promise<boolean>;
}
export type SessionApiResponse = {
    message?: string;
};
export interface SessionManagerOptions {
    sessionServerBaseUrl?: string;
    sessionNamespace?: string;
    sessionTime?: number;
    sessionId?: string;
}
export interface SessionRequestBody extends IRequestBody {
    key: string;
    data: string;
    signature: string;
    timeout?: number;
    namespace?: string;
}
