/**
 * WASM-based DOT transaction explanation.
 *
 * Built on @bitgo/wasm-dot's parseTransaction(). Derives transaction types,
 * extracts outputs/inputs, and maps to BitGoJS TransactionExplanation format.
 * This is BitGo-specific business logic that lives outside the wasm package.
 */
import type { TransactionExplanation, Material, TxData } from './iface';
/**
 * Input entry for a DOT transaction.
 * For account-model chains, there's typically one input (the sender).
 */
export interface DotInput {
    address: string;
    value: number;
    valueString: string;
}
/**
 * Extended explanation returned by WASM-based parsing.
 * Includes fields needed by wallet-platform that aren't in the base TransactionExplanation.
 */
export interface DotWasmExplanation extends TransactionExplanation {
    sender: string;
    nonce: number;
    isSigned: boolean;
    methodName: string;
    inputs: DotInput[];
}
export interface ExplainDotTransactionParams {
    txHex: string;
    material: Material;
    senderAddress?: string;
}
export interface ToJsonFromWasmParams {
    txHex: string;
    material: Material;
    senderAddress: string;
    coinConfigName: string;
    referenceBlock?: string;
    blockNumber?: number;
}
/**
 * Explain a DOT transaction using the WASM parser.
 *
 * Parses the transaction via WASM, derives the transaction type and
 * outputs locally, then maps to BitGoJS TransactionExplanation format.
 */
export declare function explainDotTransaction(params: ExplainDotTransactionParams): DotWasmExplanation;
/**
 * Produce a TxData object using WASM parsing instead of the JS txwrapper.
 *
 * This replaces the legacy `toJson()` path for chains where WASM parsing is enabled.
 * The WASM parser decodes the extrinsic bytes (with metadata-aware signed extension handling),
 * and this function maps the result to the TxData interface that consumers expect.
 */
export declare function toJsonFromWasm(params: ToJsonFromWasmParams): TxData;
//# sourceMappingURL=wasmParser.d.ts.map