import { Transaction } from '@solana/web3.js'; import { StandardWalletAdapter } from '@solana/wallet-standard-wallet-adapter-base'; export interface EthereumProvider { request: (args: { method: string; params?: unknown[]; }) => Promise; on?: (event: string, handler: (...args: any[]) => void) => void; removeListener?: (event: string, handler: (...args: any[]) => void) => void; } interface ExtendedStandardWalletAdapter extends StandardWalletAdapter { customFunctions: ('sendSerializedTransaction' | 'signSerializedTransaction' | 'signAllSerializedTransactions' | 'signSolanaTransactionBytes')[]; sendSerializedTransaction: (transaction: ArrayBufferLike, rpcUrl: string) => Promise; signSerializedTransaction: (transaction: ArrayBufferLike) => Promise; signAllSerializedTransactions: (transactions: ArrayBufferLike[]) => Promise; signSolanaTransactionBytes: (transaction: ArrayBufferLike, connectedAddress?: string) => Promise; } export interface WalletStandardInfo { uuid: string; name: string; chains: string[]; features: string[]; adapter: ExtendedStandardWalletAdapter | undefined; } export interface EIP6963ProviderInfo { uuid: string; name: string; icon: string; rdns: string; } export interface EIP6963ProviderDetail { info: EIP6963ProviderInfo; provider: EthereumProvider; } export interface EIP6963AnnounceProviderEvent extends CustomEvent { type: 'eip6963:announceProvider'; detail: EIP6963ProviderDetail; } export interface DetectedWallet { uuid: string; name: string; icon: string; rdns: string; provider: EthereumProvider; } export interface TronWalletInfo { uuid: string; name: string; injectedId: string; provider: any; } export interface TonWalletInfo { uuid: string; name: string; icon: string; jsBridgeKey: string; provider: any; } export interface ParentAPI { eip6963Wallets: DetectedWallet[]; eip6963WalletsReady: boolean; walletStandardWallets: WalletStandardInfo[]; walletStandardWalletsReady: boolean; tronWallets: TronWalletInfo[]; tronWalletsReady: boolean; tonWallets: TonWalletInfo[]; tonWalletsReady: boolean; parentOrigin: string; discoverTronWallets: (injectedIds: string[]) => void; discoverTonWallets: (jsBridgeKeys: string[]) => void; } export declare class BridgeParent { private iframe; private parentAPI; private endpoint; private exposeListeners; private destroyed; constructor(iframe: HTMLIFrameElement); private initializeConnection; private discovereip6963Wallets; private getSolanaWallets; private isSolanaWallet; private generateWalletId; /** * Checks if a value looks like a Tron provider (has request and tronWeb) */ private isTronProvider; private getTronWallets; private isTonConnectBridge; private getTonWallets; destroy(): void; } export {}; //# sourceMappingURL=BridgeParent.d.ts.map