import { Info, AuthMethod, ConnectionString, RecentType, BannerNotify } from 'nostr-login-components/dist/types/types'; export interface NostrLoginAuthOptions { localNsec?: string; relays?: string[]; type: 'login' | 'signup' | 'logout'; method?: AuthMethod; pubkey?: string; otpData?: string; name?: string; } export type StartScreens = 'welcome' | 'welcome-login' | 'welcome-signup' | 'signup' | 'local-signup' | 'login' | 'otp' | 'connect' | 'login-bunker-url' | 'login-read-only' | 'connection-string' | 'switch-account' | 'import'; export interface NostrLoginOptions { theme?: string; startScreen?: StartScreens; bunkers?: string; onAuth?: (npub: string, options: NostrLoginAuthOptions) => void; perms?: string; darkMode?: boolean; noBanner?: boolean; devOverrideBunkerOrigin?: string; localSignup?: boolean; methods?: AuthMethod[]; otpRequestUrl?: string; otpReplyUrl?: string; title?: string; description?: string; signupRelays?: string; outboxRelays?: string[]; dev?: boolean; signupNstart?: boolean; followNpubs?: string; customNostrConnect?: boolean; } export interface IBanner { userInfo?: Info | null; titleBanner?: string; isLoading?: boolean; listNotifies?: string[]; accounts?: Info[]; isOpen?: boolean; darkMode?: boolean; notify?: BannerNotify; } export type TypeBanner = IBanner & HTMLElement; export interface IModal { authUrl?: string; iframeUrl?: string; isLoading?: boolean; isOTP?: boolean; isLoadingExtension?: boolean; localSignup?: boolean; signupNjump?: boolean; njumpIframe?: string; authMethods?: AuthMethod[]; hasExtension?: boolean; hasOTP?: boolean; error?: string; signupNameIsAvailable?: string | boolean; loginIsGood?: string | boolean; recents?: RecentType[]; accounts?: Info[]; darkMode?: boolean; welcomeTitle?: string; welcomeDescription?: string; connectionString?: string; connectionStringServices?: ConnectionString[]; } export type TypeModal = IModal & HTMLElement; export interface Response { result?: string; error?: string; }