import * as _txnlab_use_wallet from '@txnlab/use-wallet'; import { WalletId, WalletKey, WalletMetadata, WalletAccount, WalletManager, NetworkId, AlgodConfig, SignMetadata, SignDataResponse } from '@txnlab/use-wallet'; export * from '@txnlab/use-wallet'; import algosdk from 'algosdk'; import * as React from 'react'; interface WalletProviderProps { manager: WalletManager; children: React.ReactNode; } declare const WalletProvider: ({ manager, children }: WalletProviderProps) => JSX.Element; declare const useNetwork: () => { activeNetwork: string; networkConfig: Record; activeNetworkConfig: _txnlab_use_wallet.NetworkConfig; setActiveNetwork: (networkId: NetworkId | string) => Promise; updateAlgodConfig: (networkId: string, config: Partial) => void; resetNetworkConfig: (networkId: string) => void; }; interface Wallet { id: WalletId; /** Unique key for this wallet instance. Used for skinned WalletConnect instances. */ walletKey: WalletKey; metadata: WalletMetadata; accounts: WalletAccount[]; activeAccount: WalletAccount | null; isConnected: boolean; isActive: boolean; canSignData: boolean; canUsePrivateKey: boolean; connect: (args?: Record) => Promise; disconnect: () => Promise; setActive: () => void; setActiveAccount: (address: string) => void; } declare const useWallet: () => { wallets: Wallet[]; isReady: boolean; algodClient: algosdk.Algodv2; setAlgodClient: React.Dispatch>; activeWallet: Wallet | null; activeWalletAccounts: WalletAccount[] | null; activeWalletAddresses: string[] | null; activeAccount: WalletAccount | null; activeAddress: string | null; signData: (data: string, metadata: SignMetadata) => Promise; withPrivateKey: (callback: (secretKey: Uint8Array) => Promise) => Promise; signTransactions: (txnGroup: T | T[], indexesToSign?: number[]) => Promise<(Uint8Array | null)[]>; transactionSigner: (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => Promise; }; export { type Wallet, WalletProvider, useNetwork, useWallet };