///
import { EventEmitter } from "events";
import { IStorage } from "@inrupt/solid-client-authn-core";
import { Session } from "./Session";
export interface ISessionManagerOptions {
secureStorage?: IStorage;
insecureStorage?: IStorage;
}
export interface ISessionManager {
getSession(sessionId?: string): Promise;
}
export declare class SessionManager extends EventEmitter implements ISessionManager {
private clientAuthn;
private sessionRecords;
private isInitialized;
private handledIncomingRedirect;
constructor(options?: ISessionManagerOptions);
private init;
private addNewSessionRecord;
private getSessionFromCurrentSessionInfo;
getSessions(): Promise;
getSession(sessionId?: string): Promise;
hasSession(sessionId: string): Promise;
onSessionLogin(callback: (session: Session) => unknown): void;
onSessionLogout(callback: (session: Session) => unknown): void;
detachSession(sessionId: string): void;
handleIncomingRedirect(url: string): Promise;
}