import { Session } from "./Session"; import { IHandleIncomingRedirectOptions } from "@inrupt/solid-client-authn-browser/dist/Session"; import { ILoginInputOptions, ISessionInfo } from "@inrupt/solid-client-authn-core"; /** * Obtain the {@link Session} used when not explicitly instantiating one yourself. * * When using the top-level exports {@link fetch}, {@link login}, {@link logout}, * {@link handleIncomingRedirect}, {@link onLogin} and {@link onLogout}, these apply to an * implicitly-instantiated {@link Session}. * This function returns a reference to that Session in order to obtain e.g. the current user's * WebID. * @since 1.3.0 */ export declare function getDefaultSession(): Session; /** * This function's signature is equal to `window.fetch`, but if the current user is authenticated * (see [[login]] and [[handleIncomingRedirect]]), requests made using it will include that user's * credentials. If not, this will behave just like the regular `window.fetch`. * * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch} * @since 1.3.0 */ export declare const fetch: (url: RequestInfo, init?: RequestInit) => Promise; /** * Triggers the login process. Note that this method will redirect the user away from your app. * * @param options Parameter to customize the login behaviour. In particular, two options are mandatory: `options.oidcIssuer`, the user's identity provider, and `options.redirectUrl`, the URL to which the user will be redirected after logging in their identity provider. * @returns This method should redirect the user away from the app: it does not return anything. The login process is completed by [[handleIncomingRedirect]]. * @since 1.3.0 */ export declare const login: (options: ILoginInputOptions) => Promise; /** * Logs the user out of the application. This does not log the user out of their * Solid identity provider, and should not redirect the user away. * * @since 1.3.0 */ export declare const logout: () => Promise; /** * Completes the login process by processing the information provided by the Solid identity provider through redirect. * * @param url The URL of the page handling the redirect, including the query parameters — these contain the information to process the login. * @since 1.3.0 */ export declare const handleIncomingRedirect: (inputOptions?: string | IHandleIncomingRedirectOptions) => Promise; /** * Register a callback function to be called when a user completes login. * * The callback is called when {@link handleIncomingRedirect} completes successfully. * @since 1.3.0 * * @param callback The function called when a user completes login. */ export declare const onLogin: (callback: () => unknown) => void; /** * Register a callback function to be called when a user logs out: * * @param callback The function called when a user completes logout. * @since 1.3.0 */ export declare const onLogout: (callback: () => unknown) => void; /** * Register a callback function to be called when a session is restored: * * @param callback The function called when a session is restored. * @since 1.3.0 */ export declare const onSessionRestore: (callback: (currentUrl: string) => unknown) => void;