import { CantonWallet } from '../utils/wallet'; import { CantonQueryCompletionResponseDto, CantonSubmitPreparedOptions } from '../services/cantonService'; export interface SendTransactionOptions { onSuccess?: (result: CantonQueryCompletionResponseDto) => void; onRejection?: () => void; onError?: (error: Error) => void; skipModal?: boolean; modalTitle?: string; modalDescription?: string; modalConfirmText?: string; modalRejectText?: string; /** Custom content to display in modal instead of transaction hash */ modalDisplayContent?: string; /** Show technical transaction details (command, contracts, hash) as JSON. Default: false */ showTechnicalDetails?: boolean; /** Optional command ID for idempotency */ commandId?: string; submitOptions?: CantonSubmitPreparedOptions; } export interface UseSendTransactionReturn { /** Sign and send a Canton transaction with confirmation modal */ sendTransaction: (commands: unknown, disclosedContracts?: unknown, options?: SendTransactionOptions) => Promise; loading: boolean; error: Error | null; clearError: () => void; cantonWallets: CantonWallet[]; cantonWallet: CantonWallet | null; } export declare function useSendTransaction(): UseSendTransactionReturn;