import { Identity } from '@schibsted/account-sdk-browser'; export type SchibstedAccountEnv = 'PRE' | 'PRO' | 'PRO_DK' | 'PRO_FI' | 'PRO_NO'; export type User = { accountUrl: string; displayName: string; familyName: string; givenName: string; photo: string; sig: string; tokenExpirationTime: number; userId: number; uuid: string; }; declare global { interface Window { Identity: Identity; } } declare class SchibstedAccount { get eventTarget(): EventTarget; get identity(): Identity | undefined; get initialized(): boolean; get user(): User | null | undefined; private _eventTarget; private _identity; private _initialized; private _user; private set initialized(value); private set user(value); checkAndRefreshSchibstedAccountSession: () => Promise; initialize: ({ autoLogin, autoLoginTimestampLimit, clientId, env, redirectUri, sessionDomain, simplifiedLogin, simplifiedLoginTimestampLimit, }: { autoLogin?: boolean; autoLoginTimestampLimit?: number; clientId: string; env: SchibstedAccountEnv; redirectUri: string; sessionDomain: string; simplifiedLogin?: boolean; simplifiedLoginTimestampLimit?: number; }) => Promise; login: (state?: Record) => void; logout: (redirectUri?: string) => void; mockUser: (user: User) => void; waitForInitialization: () => Promise; private runAutoLogin; private runSimplifiedLogin; } export default SchibstedAccount;