/// <reference types="node" />
import BigNumber from 'bignumber.js';
import { Script, SIGHASH } from './tx';
import { BufferComposer, ComposableBuffer } from '@muirglacier/jellyfish-buffer';
/**
 * V0 Witness program for SegWit WitnessScript.
 *
 * All bytes must be little endian.
 * Script code is a VarUInt bytes Script.
 *
 * For P2WPKH witness program, the scriptCode is 0x1976a914{20-byte-pubkey-hash}88ac.
 * Which is [OP_DUP, OP_HASH160, OP_PUSHDATA<RIPEMD160(SHA256(pubkey))>, OP_EQUALVERIFY, OP_CHECKSIG]
 *
 * For P2WSH witness program, it is not yet supported.
 */
export interface WitnessProgram {
    version: number;
    hashPrevouts: string;
    hashSequence: string;
    outpointTxId: string;
    outpointIndex: number;
    scriptCode: Script;
    value: BigNumber;
    sequence: number;
    hashOutputs: string;
    lockTime: number;
    hashType: SIGHASH;
}
/**
 * Composable WitnessProgram
 */
export declare class CWitnessProgram extends ComposableBuffer<WitnessProgram> {
    composers(wp: WitnessProgram): BufferComposer[];
    asBuffer(): Buffer;
}
//# sourceMappingURL=tx_segwit.d.ts.map