/// import { Output, IOutput } from '../output/output'; import { IInput, Input } from '../input/input'; import { IEncodable, BufferState } from '../encoder/encoder'; import { BIP32Interface } from 'bitcoinjs-lib'; export interface ITransaction { txid: string; version: number; inputs: IInput[]; outputs: IOutput[]; lock_time: number; } export declare class Transaction implements IEncodable { version: number; inputs: Input[]; outputs: Output[]; lock_time: number; constructor(version?: number, inputs?: Input[], outputs?: Output[], lock_time?: number); /** * Serializes the transaction as a buffer. * * @returns buffer */ toBuffer(): Buffer; /** * Serializes the transaction into hex encoded string. * * @returns hex encoded string */ toString(): string; /** * Get the transaction id * * @param format hex or buffer format * @returns txid as string or buffer depending on the chosen format */ getId(format?: 'buffer' | 'hex'): string | Buffer; sign(inputIndex: number, node: BIP32Interface, prevOutScript: Buffer | string, hashType?: number): Buffer; clone(): Transaction; encodeVersion(): Buffer; static decodeVersion(bufferstate: { buffer: Buffer; offset: number; }): number; static decodeLocktime(bufferstate: { buffer: Buffer; offset: number; }): number; encodeInputs(): Buffer; encodeOutputs(): Buffer; toJSON(network?: string): ITransaction; encodeLockTime(): Buffer; static decode(data: Buffer | string | BufferState): Transaction; }