import { Emitter } from '@white-matrix/event-emitter'; import { StakeType, UserModalType } from '../store/context'; import { ChainType, IWalletInfo, WalletType } from '../wallets/client/IWallet'; import { ReactNode } from 'react'; export declare const userInfoClearEmitter: Emitter; export declare const modalChangeEmitter: Emitter<{ type: UserModalType; data?: any; }>; export declare const loginResultEmitter: Emitter<{ type: "success"; data?: IWalletInfo; } | { type: "fail"; }>; export declare const activeChainAddressEmitter: Emitter; export declare const linkTargetChainEmitter: Emitter; export declare const logoutEmitter: Emitter; export declare const setPasswordEmitter: Emitter; export declare const setEmailEmitter: Emitter; export type NoticeModalType = "ban" | "freeze"; export declare const showAccountNoticeModalEmitter: Emitter<{ type: NoticeModalType; }>; export interface ISoulDragonMintWalletConnectResp { address: string; walletType: WalletType; unConnect?: () => void; } export declare const soulDragonMintWalletConnectEmitter: Emitter<{ type: "success"; data: ISoulDragonMintWalletConnectResp; } | { type: "fail"; }>; export declare function logout(): void; export declare function setPassword(): void; export declare function setEmail(): void; export declare function logoutAndShowLoginModal(): void; export interface ILoginParams { chainType?: ChainType; walletType?: WalletType; referralCode?: string; } export declare function login(params?: ILoginParams): Promise; export declare function signUp(params?: ILoginParams): Promise; export interface IActiveChainAddressParams { targetChain: ChainType; targetAddress: string; tipText?: ReactNode; onCancel?: () => void; } export declare function activeChainAddress(params: IActiveChainAddressParams): Promise; export declare function openProfileModal(): void; export declare function addWallet(chainType?: ChainType, single?: boolean): void; export interface ILinkTargetChainParams { targetChain: ChainType; tipText?: ReactNode; onCancel?: () => void; } export declare function linkTargetChain(params: ILinkTargetChainParams): Promise; export declare function collectTaskAddresses(taskGroupId: number, supportedChains: ChainType[], /** * 支持的钱包,如果不指定,则默认取supportedChains下面的所有钱包 */ supportedWallets?: WalletType[]): void; export interface IStakeSignMessageResponse { signature: string; msg: string; address: string; chain: ChainType; wallet: WalletType; publicKey?: string; mappedAddress?: string; verifyType?: "btc" | "evm" | "ckb"; } export declare const stakeSignInEmitter: Emitter<{ type: "success" | "fail"; data?: IStakeSignMessageResponse; }>; export declare function stakeSignMessage(stakeType: StakeType): Promise; export declare function soulDragonMintWalletSelect(): Promise;