1 |
|
2 | import { EventEmitter } from "events";
|
3 | import { ILoginInputOptions, ISessionInfo, IStorage } from "@inrupt/solid-client-authn-core";
|
4 | import ClientAuthentication from "./ClientAuthentication";
|
5 | export interface ISessionOptions {
|
6 | secureStorage: IStorage;
|
7 | insecureStorage: IStorage;
|
8 | sessionInfo: ISessionInfo;
|
9 | clientAuthentication: ClientAuthentication;
|
10 | }
|
11 | export declare class Session extends EventEmitter {
|
12 | readonly info: ISessionInfo;
|
13 | private clientAuthentication;
|
14 | private tokenRequestInProgress;
|
15 | constructor(sessionOptions?: Partial<ISessionOptions>, sessionId?: string);
|
16 | login: (options: ILoginInputOptions) => Promise<void>;
|
17 | fetch: (url: RequestInfo, init?: RequestInit | undefined) => Promise<Response>;
|
18 | logout: () => Promise<void>;
|
19 | handleIncomingRedirect: (url: string) => Promise<ISessionInfo | undefined>;
|
20 | onLogin(callback: () => unknown): void;
|
21 | onLogout(callback: () => unknown): void;
|
22 | }
|