import { Wallet as HederaWallet, AccountId, Transaction, Query, PrivateKey } from '@hiero-ledger/sdk'; import { JsonRpcError, JsonRpcResult } from '@walletconnect/jsonrpc-utils'; import { HederaChainId, HederaJsonRpcMethod, GetNodeAddressesResult, ExecuteTransactionResult, SignAndExecuteQueryResult, SignMessageResult, SignAndExecuteTransactionResult, SignTransactionResult, WalletRequestEventArgs } from '../..'; import Provider from '../../lib/wallet/provider'; interface IInitArgs { chainId: HederaChainId; accountId: AccountId | string; privateKey: PrivateKey; _provider?: Provider; } export interface HIP820WalletInterface { approveSessionRequest(requestEvent: WalletRequestEventArgs): Promise | JsonRpcError>; rejectSessionRequest(requestEvent: WalletRequestEventArgs): JsonRpcError; getHederaWallet(): HederaWallet; [HederaJsonRpcMethod.GetNodeAddresses](id: number, _: any): Promise; [HederaJsonRpcMethod.ExecuteTransaction](id: number, body: Transaction): Promise; [HederaJsonRpcMethod.SignMessage](id: number, body: string): Promise; [HederaJsonRpcMethod.SignAndExecuteQuery](id: number, body: Query): Promise; [HederaJsonRpcMethod.SignAndExecuteTransaction](id: number, body: Transaction): Promise; [HederaJsonRpcMethod.SignTransaction](id: number, body: Uint8Array): Promise; } export declare class HIP820Wallet implements HIP820WalletInterface { wallet: HederaWallet; constructor(wallet: HederaWallet); getHederaWallet(): HederaWallet; static init({ chainId, accountId, privateKey, _provider }: IInitArgs): HIP820Wallet; validateParam(name: string, value: any, expectedType: string): void; parseSessionRequest(event: WalletRequestEventArgs, shouldThrow?: boolean): { method: HederaJsonRpcMethod; chainId: HederaChainId; id: number; topic: string; body?: Transaction | Query | string | Uint8Array | undefined; accountId?: AccountId; }; approveSessionRequest(event: WalletRequestEventArgs): Promise | JsonRpcError>; rejectSessionRequest(requestEvent: WalletRequestEventArgs): JsonRpcError; hedera_getNodeAddresses(id: number, _: any): Promise>; hedera_executeTransaction(id: number, signedTransaction: Transaction): Promise; hedera_signMessage(id: number, body: string): Promise>; hedera_signAndExecuteQuery(id: number, body: Query): Promise>; hedera_signAndExecuteTransaction(id: number, transaction: Transaction): Promise>; hedera_signTransaction(id: number, body: Uint8Array): Promise>; } export default HIP820Wallet;