import { CantonQueryCompletionResponseDto } from '../core/types'; import { CantonSubmitPreparedOptions } from '../services/cantonService'; import { CantonWallet } from '../utils/wallet'; export interface TransactionToSend { commands: unknown; disclosedContracts?: unknown; /** Optional command ID for idempotency */ commandId?: string; } export interface SendMultipleTransactionsOptions { onSuccess?: (results: CantonQueryCompletionResponseDto[]) => void; onRejection?: () => void; onError?: (error: Error) => void; skipModal?: boolean; modalTitle?: string; modalDescription?: string; modalConfirmText?: string; modalRejectText?: string; /** Show technical transaction details (commands, disclosedContracts, hash) as JSON. Default: false */ showTechnicalDetails?: boolean; /** Optional deduplication period (shared across all transactions in the batch) */ deduplicationPeriod?: any; submitOptions?: CantonSubmitPreparedOptions; } export interface UseSendMultipleTransactionsReturn { /** Sign and send multiple Canton transactions with a single confirmation modal */ sendMultipleTransactions: (txs: TransactionToSend[], options?: SendMultipleTransactionsOptions) => Promise; loading: boolean; error: Error | null; clearError: () => void; cantonWallets: CantonWallet[]; cantonWallet: CantonWallet | null; } export declare function useSendMultipleTransactions(): UseSendMultipleTransactionsReturn;