import { Address } from '../block/address';
import { Output } from '../block/output/output';
import { Transaction } from '../block/payload/signed_transaction';
import { OutputMetadataResponse } from '../models/api';
import { Bip44 } from '../secret_manager';
import { HexEncodedString, NumericString } from '../utils';
/**
 * Helper struct for offline signing.
 */
export declare class PreparedTransactionData {
    /**
     * Transaction
     */
    transaction: Transaction;
    /**
     * Required address information for signing
     */
    inputsData: InputSigningData[];
    /**
     * Optional remainder output information
     */
    remainders?: Remainder[];
    /**
     * Mana rewards by input.
     */
    manaRewards?: {
        [outputId: HexEncodedString]: NumericString;
    };
}
/**
 * Data for transaction inputs for signing and ordering of unlock blocks.
 */
export declare class InputSigningData {
    /**
     * The output
     */
    output: Output;
    /**
     * The output metadata
     */
    outputMetadata: OutputMetadataResponse;
    /**
     * The chain derived from seed, only for ed25519 addresses
     */
    chain?: Bip44;
}
/**
 * Data for a remainder output, used for Ledger Nano.
 */
export declare class Remainder {
    /**
     * The remainder output.
     */
    output: Output;
    /**
     * The chain derived from seed, for the remainder addresses.
     */
    chain?: Bip44;
    /**
     * The remainder address.
     */
    address: Address;
}
