import type { Connection, Transaction, VersionedTransaction } from '@solana/web3.js'; /** * DS3-0414: does the transaction already carry a REAL signer signature? A Solana * signature is computed over the compiled message, which INCLUDES recentBlockhash, so * the blockhash must not be rewritten once any signer (sponsor / multisig / co-signer) * has signed - a rewrite silently invalidates their signature. Legacy signatures are * `{ signature: Buffer | null }` entries; versioned signatures are 64-byte arrays that * stay all-zero placeholders until a signer fills them. Mirrors turnkey-signer-bridge.ts. */ export declare function transactionHasSignature(transaction: Transaction | VersionedTransaction): boolean; /** * Extracts a human-readable error message from Solana transaction logs. */ export declare function extractTransactionError(err: any, logMessages?: string[] | null): string; /** * Polls getSignatureStatuses until the transaction is confirmed, then checks for errors. * Throws if the transaction failed on-chain. Returns parsed transaction info on success. */ export declare function confirmAndCheckTransaction(connection: Connection, signature: string): Promise;