import { ExtendedPublicKey, PublicKey } from '../../../types/key'; import { UnsignedTransaction } from '../../../types/transaction'; import { _OnlineProtocol } from '../../protocol'; export declare type WalletConnectExtension = T extends _OnlineProtocol ? WalletConnectProtocol<_UnsignedTransaction, _PublicKey> : never; export interface WalletConnectRequest { from?: string; to?: string; data?: string; gasLimit?: string; gasPrice?: string; value?: string; nonce?: string; } export interface WalletConnectProtocol<_UnsignedTransaction extends UnsignedTransaction = UnsignedTransaction, _PublicKey extends PublicKey | ExtendedPublicKey = PublicKey | ExtendedPublicKey> { getWalletConnectChain(): Promise; prepareWalletConnectTransactionWithPublicKey(publicKey: _PublicKey, request: WalletConnectRequest): Promise<_UnsignedTransaction>; }