type Hex = `0x${string}`; type ByteArray = Uint8Array; type SignableMessage = string | { raw: Hex | ByteArray; }; type TransactionSerializable = { to?: Hex | null; data?: Hex; value?: bigint; [key: string]: unknown; }; type TypedDataParameter = { name: string; type: string; }; export type TypedData = { types: { [key: string]: TypedDataParameter[]; }; primaryType: string; domain: { name?: string; version?: string; chainId?: number; verifyingContract?: Hex; salt?: Hex; }; message: Record; }; export type SignAuthorizationReturnType = { address: Hex; chainId: number; nonce: number; r: Hex; s: Hex; v?: bigint; yParity?: number; }; type SignAuthorizationParametersWithoutPrivateKey = { address?: Hex; contractAddress?: Hex; chainId: number; nonce: number; }; export type ViemMessages = { viem_signAuthorization: (walletId: string, parameters: SignAuthorizationParametersWithoutPrivateKey) => Promise; viem_signMessage: (walletId: string, message: SignableMessage) => Promise; viem_signTransaction: (walletId: string, transaction: TransactionSerializable) => Promise; viem_signTypedData: (walletId: string, typedData: TypedData) => Promise; viem_writeContract: (walletId: string, contractInput: { abi: unknown[]; address: Hex; functionName: string; args: unknown[]; gas?: bigint; maxFeePerBlobGas?: bigint; gasPrice?: bigint; maxPriorityFeePerGas?: bigint; maxFeePerGas?: bigint; nonce?: number; value?: bigint; type?: 'legacy' | 'eip2930' | 'eip1559' | 'eip4844' | 'eip7702'; }) => Promise; viem_readContract: (walletId: string, readContractInput: { abi: any; address: Hex; functionName: string; args: unknown[]; }) => Promise; viem_getGasPrice: (walletId: string) => Promise; viem_estimateFeesPerGas: (walletId: string, options?: { blockNumber?: bigint; blockTag?: 'latest' | 'earliest' | 'pending' | 'safe' | 'finalized'; multicall?: boolean; type?: 'legacy' | 'eip1559' | 'eip4844'; }) => Promise<{ maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint; gasPrice?: bigint; }>; }; export {};