export declare type Complete = { [P in keyof Required]: Pick extends Required> ? T[P] : T[P] | undefined; }; export declare enum HookName { afterLogin = "afterLogin", beforeLogout = "beforeLogout", uniqueSessionTrigger = "uniqueSessionTrigger", userPresenceTrigger = "userPresenceTrigger", afterRefreshToken = "afterRefreshToken" } export declare type Hooks = { afterLogin?: (params?: any) => any; beforeLogout?: (params?: any) => any; uniqueSessionTrigger?: (params?: any) => any; userPresenceTrigger?: (params?: any) => any; afterRefreshToken?: (params?: any) => any; }; export declare type InitOptions = { authHost: string; clientId: string; scopes: string[]; autoRefreshToken?: boolean; autoLogin?: boolean; autoLogout?: boolean; idleTimeoutInMinutes?: number; uniqueSession?: boolean; userPresence?: boolean; listenToRestrictWebFlag?: boolean; rememberMe?: boolean; hooks?: Hooks; initToken?: string | null; }; export declare type UserInfo = { sub: string; userType: string; userId: string; email: string; firstName: string; lastName: string; firmId: string; firmName: string; firmType: number; staffId: string; env: string; region: string; type: number; countryCode: number; externalUser: any; firmAdminConsent: { given: boolean; tenantId: string; adminConsentDomain: string; renewalRequired: boolean; }; }; export declare type ReauthenticateLink = { url: string; nonce: string; }; export declare type AccountLink = { externalUser: { id: string; email: string; name: string; }; internalUser: { id: string; staffId?: string; }; }; export declare type LeapToken = { access_token: string; expires_in: number; refresh_token: string; }; export declare type Redirections = { topLevelDomains: Array; topLevelDomains_v2: Array; environments: Array<{ criteria: { region: string; environment: 'test' | 'live' | 'liveb'; countryCode: number; }; topLevelDomain: string; authHost: string; applications: Array; }>; environments_v2: Array<{ criteria: { region: string; environment: 'test' | 'live' | 'liveb'; countryCode: number; }; topLevelDomain: string; authHost: string; applications: Array; }>; environmentVariables: { live: { prefixMappings: { [key: string]: string; }; }; liveb: { prefixMappings: { [key: string]: string; }; }; test?: { prefixMappings: { [key: string]: string; }; }; }; };