import { Transaction } from '../transaction/transaction'; export interface TransactionTarget { [symbol: string]: number; } export declare const FEE_DEFAULT = 10000; export interface AttenuationParams { } export interface UTXO { tx: string; index: number; value: number; } export interface TransactionBuilderSendParams { inputs: UTXO[]; recipient_address: string; recipient_avatar?: string; target: TransactionTarget; etp_change_address: string; change: TransactionTarget; locked_asset_change: AttenuationParams[]; fee?: number; messages?: string[]; asset_change_address?: string; } export interface TransactionBuilderRecipient { target: TransactionTarget; address: string; avatar?: string; attenuation_model?: string; } export interface TransactionBuilderSendMoreParams { inputs: UTXO[]; recipients: TransactionBuilderRecipient[]; etp_change_address: string; asset_change_address?: string; change: TransactionTarget; locked_asset_change?: AttenuationParams[]; fee?: number; messages?: string[]; } export declare class TransactionBuilder { /** * Generates a send (etp and or asset) transaction with the given utxos as inputs, assets and the change. * @param inputs Inputs for the transaction * @param recipient_address Recipient address * @param target Definition of assets to send * @param etp_change_address ETP change address * @param change Definition of change assets * @param asset_change_address Asset change address */ static send(params: TransactionBuilderSendParams): Transaction; static sendMore(params: TransactionBuilderSendMoreParams): Transaction; }