import { Metadata, AuthResult, TokenStore } from '@passageidentity/passage-js'; export { AuthResult, TokenStore } from '@passageidentity/passage-js'; declare enum OnEventType { onLoaded = "onLoaded", onShowLogin = "onShowLogin", onShowRegister = "onShowRegister", onRegisterPasskey = "onRegisterPasskey", onLoginPasskey = "onLoginPasskey", onVerifyIdentity = "onVerifyIdentity", onMagicLinkLogin = "onMagicLinkLogin", onMagicLinkRegister = "onMagicLinkRegister", onMagicLinkActivated = "onMagicLinkActivated", onMagicLinkActivateSuccess = "onMagicLinkActivateSuccess", onOneTimePasscodeLogin = "onOneTimePasscodeLogin", onOneTimePasscodeRegister = "onOneTimePasscodeRegister", onOneTimePasscodeActivated = "onOneTimePasscodeActivated", onAddPasskey = "onAddPasskey" } type OnLoadedEvent = { type: OnEventType.onLoaded; }; type OnShowLoginEvent = { type: OnEventType.onShowLogin; }; type OnShowRegisterEvent = { type: OnEventType.onShowRegister; }; type OnRegisterPasskeyEvent = { type: OnEventType.onRegisterPasskey; data: { identifier: string; }; }; type OnLoginPasskeyEvent = { type: OnEventType.onLoginPasskey; data: { identifier: string; }; }; type OnVerifyIdentityEvent = { type: OnEventType.onVerifyIdentity; data: { identifier: string; identifierExists: boolean; }; }; type OnMagicLinkLoginEvent = { type: OnEventType.onMagicLinkLogin; data: { identifier: string; }; }; type OnMagicLinkRegisterEvent = { type: OnEventType.onMagicLinkRegister; data: { identifier: string; }; }; type OnMagicLinkActivatedEvent = { type: OnEventType.onMagicLinkActivated; }; type OnMagicLinkActivateSuccessEvent = { type: OnEventType.onMagicLinkActivateSuccess; }; type OnOneTimePasscodeLoginEvent = { type: OnEventType.onOneTimePasscodeLogin; data: { identifier: string; }; }; type OnOneTimePasscodeRegisterEvent = { type: OnEventType.onOneTimePasscodeRegister; data: { identifier: string; }; }; type OnOneTimePasscodeActivatedEvent = { type: OnEventType.onOneTimePasscodeActivated; }; type OnAddPasskeyEvent = { type: OnEventType.onAddPasskey; }; type PassageElementEvent = OnLoadedEvent | OnShowLoginEvent | OnShowRegisterEvent | OnRegisterPasskeyEvent | OnLoginPasskeyEvent | OnVerifyIdentityEvent | OnMagicLinkLoginEvent | OnMagicLinkRegisterEvent | OnMagicLinkActivatedEvent | OnMagicLinkActivateSuccessEvent | OnOneTimePasscodeLoginEvent | OnOneTimePasscodeRegisterEvent | OnOneTimePasscodeActivatedEvent | OnAddPasskeyEvent; declare enum AuthCallbackType { Login = "login", Register = "register" } interface AuthCallbackPayload { authType?: AuthCallbackType; /** Any additional metadata provided by the user. This will only be available on registration. */ userMetadata?: Metadata; } type BeforeAuthCallback = (identifier: string, payload: AuthCallbackPayload) => boolean; type OnSuccessCallback = (authResult: AuthResult, payload: AuthCallbackPayload) => void; type OnEventCallback = (event: PassageElementEvent) => void; interface PassageElement extends HTMLElement { appId?: string; identifier?: string; onSuccess?: OnSuccessCallback; beforeAuth?: BeforeAuthCallback; onEvent?: OnEventCallback; lang: string; defaultCountryCode?: string; tokenStore?: TokenStore; theme?: 'light' | 'dark' | 'auto'; } interface PassageProfileElement extends HTMLElement { appId?: string; lang: string; defaultCountryCode?: string; tokenStore?: TokenStore; theme?: 'light' | 'dark' | 'auto'; } export { type AuthCallbackPayload, AuthCallbackType, type BeforeAuthCallback, type OnAddPasskeyEvent, type OnEventCallback, OnEventType, type OnLoadedEvent, type OnLoginPasskeyEvent, type OnMagicLinkActivateSuccessEvent, type OnMagicLinkActivatedEvent, type OnMagicLinkLoginEvent, type OnMagicLinkRegisterEvent, type OnOneTimePasscodeActivatedEvent, type OnOneTimePasscodeLoginEvent, type OnOneTimePasscodeRegisterEvent, type OnRegisterPasskeyEvent, type OnShowLoginEvent, type OnShowRegisterEvent, type OnSuccessCallback, type OnVerifyIdentityEvent, type PassageElement, type PassageElementEvent, type PassageProfileElement };