/// import { EventEmitter } from "events"; import { ILoginInputOptions, ISessionInfo, IStorage } from "@inrupt/solid-client-authn-core"; import ClientAuthentication from "./ClientAuthentication"; export interface ISessionOptions { secureStorage: IStorage; insecureStorage: IStorage; sessionInfo: ISessionInfo; clientAuthentication: ClientAuthentication; } export interface IHandleIncomingRedirectOptions { restorePreviousSession?: boolean; useEssSession?: boolean; url?: string; } export declare class Session extends EventEmitter { readonly info: ISessionInfo; private clientAuthentication; private tokenRequestInProgress; constructor(sessionOptions?: Partial, sessionId?: string); login: (options: ILoginInputOptions) => Promise; fetch: (url: RequestInfo, init?: RequestInit | undefined) => Promise; logout: () => Promise; handleIncomingRedirect: (inputOptions?: string | IHandleIncomingRedirectOptions) => Promise; onLogin(callback: () => unknown): void; onLogout(callback: () => unknown): void; onSessionRestore(callback: (currentUrl: string) => unknown): void; }