import type { Connector as BigmiConnector } from '@bigmi/client'; import { ChainType } from '@lifi/sdk'; import type { WalletWithRequiredFeatures } from '@mysten/wallet-standard'; import type { WalletAdapter } from '@solana/wallet-adapter-base'; import type { Connector } from 'wagmi'; import type { CreateConnectorFnExtended } from '../connectors/types.js'; export interface AccountBase { address?: string; addresses?: readonly string[]; chainId?: number; chainType: CT; connector?: WalletConnector; isConnected: boolean; isConnecting: boolean; isDisconnected: boolean; isReconnecting: boolean; status: 'connected' | 'reconnecting' | 'connecting' | 'disconnected'; } export type EVMAccount = AccountBase; export type SVMAccount = AccountBase; export type UTXOAccount = AccountBase; export type MVMAccount = AccountBase; export type DefaultAccount = AccountBase; export type Account = EVMAccount | SVMAccount | UTXOAccount | MVMAccount | DefaultAccount; export interface AccountResult { account: Account; /** * Connected accounts */ accounts: Account[]; } interface UseAccountArgs { chainType?: ChainType; } export type LastConnectedAccount = WalletAdapter | Connector | BigmiConnector | CreateConnectorFnExtended | WalletWithRequiredFeatures | null; interface LastConnectedAccountStore { lastConnectedAccount: LastConnectedAccount; setLastConnectedAccount: (account: LastConnectedAccount) => void; } export declare const useLastConnectedAccount: import("zustand").UseBoundStore>; /** * @param args When we provide args we want to return either account with corresponding chainType or default disconnected one * @returns - Account result */ export declare const useAccount: (args?: UseAccountArgs) => AccountResult; export {};