import type {Link, LinkOptions, LinkSession, LinkStorage, LoginResult} from '@proton/link' import type {BrowserTransportOptions} from '@proton/browser-transport' import type {ProtonWebLink} from './links/protonWeb' import type {UIRendererOptions} from '@proton/web-renderer' type PartialBy = Omit & Partial> export type UIOptions = UIRendererOptions export interface SelectorOptions { walletType?: string enabledWalletTypes?: string[] } export type LocalLinkOptions = PartialBy & { endpoints: string[] storage?: LinkStorage storagePrefix?: string restoreSession?: boolean testUrl?: string } export interface ConnectWalletArgs { linkOptions: LocalLinkOptions transportOptions?: BrowserTransportOptions selectorOptions?: SelectorOptions uiOptions?: UIOptions } export interface ConnectWalletRet { session?: LinkSession link?: ProtonWebLink | Link loginResult?: LoginResult error?: any } export interface WalletItem { key: string value: string } export interface LoginOptions { selectorOptions: SelectorOptions linkOptions: LocalLinkOptions transportOptions: BrowserTransportOptions }