import { TEth } from '../models/TEth'; import { $rlp } from '../abi/$rlp'; import type { Web3Client } from '../clients/Web3Client'; import type { Rpc, RpcTypes } from '../rpc/Rpc'; import { TPlatform } from '../models/TPlatform'; import { EoAccount } from '../models/TAccount'; export declare namespace $sig { function signTypedData(typedData: Partial, account: TEth.EoAccount, rpc?: Rpc): Promise; function sign(message: string | Uint8Array, account: TEth.EoAccount, rpc?: Rpc): Promise; function signMessage(message: string | Uint8Array, account: TEth.EoAccount, mix?: Rpc | Web3Client): Promise; function signTx(tx: TEth.TxLike, account: TEth.EoAccount, rpc?: Rpc): Promise; function recover(digest: string | TEth.Hex | Uint8Array, signature: TEth.Hex | { v: any; r: any; s: any; }): TEth.Address; function recoverMessage(digest: string | TEth.Hex | Uint8Array, signature: TEth.Hex | { v: any; r: any; s: any; }): TEth.Address; function recoverTx(signedTxRaw: TEth.Hex): `0x${string}`; namespace $rpc { function ensureRpcSigner(account: TEth.EoAccount, mix: Rpc | Web3Client): Promise; function signTx(rpc: Rpc, tx: TEth.TxLike): Promise; function signTypedData(rpc: Rpc, typedData: Partial, account: TEth.EoAccount): Promise; function sign(rpc: Rpc, message: string | Uint8Array, account: TEth.EoAccount): Promise; function signMessage(rpc: Rpc, message: string | Uint8Array, account: TEth.EoAccount): Promise; } namespace $ec { function signTx(tx: TEth.TxLike, account: TEth.EoAccount): TEth.Hex; function signTypedData(typedData: Partial, account: TEth.EoAccount): TSignature; function sign(challenge: string | Uint8Array, account: TEth.EoAccount, chainId?: number): TSignature; function recoverAddress(digest: string | TEth.Hex | Uint8Array, signature: TEth.Hex | { v: any; r: any; s: any; }): TEth.Address; function recoverPubKey(digest: TEth.Hex | Uint8Array, signature: TEth.Hex | { v: any; r: any; s: any; }): string; namespace $eip191 { function signTypedData(typedData: Partial, account: TEth.EoAccount): TSignature; function signMessage(challenge: string | Uint8Array, account: TEth.EoAccount): TSignature; function recoverAddressFromMessage(challenge: string | Uint8Array, signature: TEth.Hex | { v: any; r: any; s: any; }): TEth.Address; } } namespace $account { function generate(opts?: { name?: string; platform?: TPlatform; }): TEth.EoAccount; function fromMnemonic(mnemonic: string, index?: number): TEth.EoAccount; function fromMnemonic(mnemonic: string, path: string): TEth.EoAccount; function fromMnemonic(mnemonic: string, mix?: number | string): TEth.EoAccount; function fromKey(key: EoAccount['key']): Promise; /** The key may be encrypted */ function getAddressFromKey(key: TKey): Promise; function getAddressFromPlainKey(key: TEth.Hex): TEth.Address; } namespace $key { function encrypt(key: TEth.Hex, secret: string): Promise; } namespace TxSerializer { function serialize(tx: TEth.TxLike, sig?: TSignature | TEth.Hex): TEth.Hex; } namespace TxDeserializer { function deserialize(txHex: TEth.Hex): TEth.TxSigned; function toTransactionArray(serializedTransaction: string): $rlp.RecursiveArray; } type TSignature = { v: TEth.Hex; r: TEth.Hex; s: TEth.Hex; signature?: TEth.Hex; signatureVRS?: TEth.Hex; }; } type TKey = TEth.Hex | `p1:0x${string}`; export declare namespace KeyUtils { function withKey(account: TEth.EoAccount, fn: (account: TEth.EoAccount) => TReturn): Promise; } export {};