import { Hash, Hex, PublicClient, TransactionSerializable } from "viem";
import { BaseTx, TransactionWithSignature } from "../types";
export declare function toPayload(msgHash: Hex | Uint8Array): number[];
export declare function fromPayload(payload: number[]): Hex;
export declare function buildTxPayload(serializedTx: `0x${string}`): number[];
export declare function populateTx(tx: BaseTx, from: Hex, client?: PublicClient): Promise<TransactionSerializable>;
export declare function addSignature({ transaction, signature, }: TransactionWithSignature): Hex;
/**
 * Relays signed transaction to Ethereum mem-pool for execution.
 * @param serializedTransaction - Signed Ethereum transaction.
 * @returns Transaction Hash of relayed transaction.
 */
export declare function relaySignedTransaction(serializedTransaction: Hex, wait?: boolean): Promise<Hash>;
/**
 * Relays valid representation of signed transaction to Etherem mempool for execution.
 *
 * @param {TransactionWithSignature} tx - Signed Ethereum transaction.
 * @returns Hash of relayed transaction.
 */
export declare function broadcastSignedTransaction(tx: TransactionWithSignature): Promise<Hash>;
