import { FC, ReactNode } from 'react'; import { WalletAdapter, WalletAdapterAddress, WalletAdapterFactory } from './WalletAdapters.types'; export interface WalletSession { adapterId: string; adapter: WalletAdapter; addresses: WalletAdapterAddress[]; } export interface BitcoinConnectionContextValue { walletSession: null | WalletSession; isConnectionInitializing: boolean; connect: (adapterId: string, adapter: WalletAdapter) => Promise; disconnect: () => Promise; adapterFactories: WalletAdapterFactory[]; availableAdapters: (readonly [adapterId: string, adapter: WalletAdapter])[]; } export declare const BitcoinConnectionProvider: FC<{ children: ReactNode; adapterFactories: WalletAdapterFactory[]; onWalletConnected?: (session: WalletSession) => void; onWalletAddressesChanged?: (addresses: WalletAdapterAddress[]) => void; onWalletDisconnected?: () => void; }>; export declare function useBitcoinConnectionContext(): BitcoinConnectionContextValue;