import type { WalletAccount } from '../../wallets/walletAccount';
import type { Flow } from '../flow.types';
import { type PrepareFlowSigningParams } from '../prepareFlowSigning';
export type SubmitFlowTransactionParams = {
    flowId: string;
    onStepChange?: (step: 'approval' | 'transaction') => void;
    walletAccount: WalletAccount;
} & PrepareFlowSigningParams;
/**
 * Prepares, signs, and broadcasts a flow transaction in one call.
 *
 * Orchestrates the full submission flow:
 * 1. Calls prepareFlowSigning to advance to signing state and lock the quote
 * 2. Ensures the wallet is on the correct network for the transaction
 * 3. Delegates on-chain signing to the wallet provider's executeSwapTransaction method
 * 4. Calls broadcastFlow with the resulting txHash
 *
 * @param params SubmitFlowTransactionParams - The flow ID, wallet account, and optional step callback.
 * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
 * @returns The broadcasted flow
 * @instrumented
 */
export declare const submitFlowTransaction: ({ onStepChange, flowId, walletAccount, assertBalanceForGasCost, assertBalanceForTransferAmount, }: SubmitFlowTransactionParams, client?: import("../../../exports").DynamicClient) => Promise<Flow>;
//# sourceMappingURL=submitFlowTransaction.d.ts.map