import { ComponentType } from 'react'; import { DehydratedState } from 'react-query/hydration'; import { IdTokenClaims, UserinfoResponse } from 'openid-client'; interface ClientAuthAuthenticated { isAuthenticated: true; credentials: { audience?: string; claims: IdTokenClaims; scope: string[]; user: UserinfoResponse; idToken: string; accessToken: string; }; loginUrl: string; logoutUrl: string; } interface ClientAuthUnauthenticated { isAuthenticated: false; error?: unknown; loginUrl: string; logoutUrl: string; } declare type ClientAuth = ClientAuthAuthenticated | ClientAuthUnauthenticated; /// interface LazyComponent { chunk: string; lazyImport: string; } declare interface SourceFile { path: string; text: string; lines: string[]; error?: Error; } declare interface Location { file: string; line?: number; column?: number; } declare interface Entry extends Location { beforeParse: string; callee: string; index: boolean; native: boolean; calleeShort: string; fileRelative: string; fileShort: string; fileName: string; thirdParty: boolean; hide?: boolean; sourceLine?: string; sourceFile?: SourceFile; error?: Error; } interface BootstrapOptions { auth: ClientAuth; automaticReload?: boolean; enableTailwind?: boolean; errStack?: Entry[]; lazyComponents: LazyComponent[]; publicUrl: string; reactQueryState: DehydratedState; } declare function hydrateNostalgie(App: ComponentType, options: BootstrapOptions): Promise; export { BootstrapOptions, hydrateNostalgie };