import { AccountToAccount, AccountToUtxos, UtxosToAccount, Script, TransactionSegWit } from '@muirglacier/jellyfish-transaction';
import { P2WPKHTxnBuilder } from './txn_builder';
export declare class TxnBuilderAccount extends P2WPKHTxnBuilder {
    /**
     * Requires UTXO in the same amount + fees to create a transaction.
     *
     * @param {UtxosToAccount} utxosToAccount txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @throws {TxnBuilderError} if 'utxosToAccount.to' length is less than `1`
     * @throws {TxnBuilderError} if 'utxosToAccount.to[any].balances' length is not `1`
     * @throws {TxnBuilderError} if 'utxosToAccount.to[any].balances[0].token' is not `0`\
     * @returns {Promise<TransactionSegWit>}
     */
    utxosToAccount(utxosToAccount: UtxosToAccount, changeScript: Script): Promise<TransactionSegWit>;
    /**
     *
     * @param {AccountToUtxos} accountToUtxos txn to create
     * @param {Script} destinationScript vout destination, for both utxos minted and change after deducted fee
     * @throws {TxnBuilderError} if 'accountToUtxos.balances' length is not `1`
     * @throws {TxnBuilderError} if 'accountToUtxos.balances[0].token' is not `0`
     * @throws {TxnBuilderError} if 'accountToUtxos.mintingOutputsStart' is not `2`, vout[0] = DfTx, vout[1] = change, vout[2] = new minted utxos
     * @returns {Promise<TransactionSegWit>}
     */
    accountToUtxos(accountToUtxos: AccountToUtxos, destinationScript: Script): Promise<TransactionSegWit>;
    accountToAccount(accountToAccount: AccountToAccount, changeScript: Script): Promise<TransactionSegWit>;
}
//# sourceMappingURL=txn_builder_account.d.ts.map