/// <reference types="node" />
import * as mvc from '../mvc';
export declare const sighashType: number;
export declare function getDustThreshold(lockingScriptSize: number): number;
export declare function isNull(val: any): boolean;
export declare function getVarPushdataHeader(n: number): Buffer;
export declare enum CONTRACT_TYPE {
    P2PKH = 0,
    BCP01_NFT = 1,
    BCP01_NFT_GENESIS = 2,
    BCP01_NFT_UNLOCK_CONTRACT_CHECK = 3,
    BCP02_TOKEN = 4,
    BCP02_TOKEN_GENESIS = 5,
    BCP02_TOKEN_TRANSFER_CHECK = 6,
    BCP02_TOKEN_UNLOCK_CONTRACT_CHECK = 7,
    OTHER = 8
}
export type SigHashInfo = {
    sighash: string;
    sighashType: number;
    address: string;
    inputIndex: number;
    contractType: CONTRACT_TYPE;
};
export type SigInfo = {
    sig: string;
    publicKey: string | mvc.PublicKey;
};
export declare const PLACE_HOLDER_SIG = "41682c2074686973206973206120706c61636520686f6c64657220616e642077696c6c206265207265706c6163656420696e207468652066696e616c207369676e61747572652e00";
export declare const PLACE_HOLDER_PUBKEY = "41682c2074686973206973206120706c61636520686f6c64657220616e64207769";
export declare const P2PKH_UNLOCK_SIZE: number;
export declare function numberToBuffer(n: number): Buffer;
export declare function sign(tx: mvc.Transaction, sigHashList: SigHashInfo[], sigList: SigInfo[]): void;
export declare function dumpTx(tx: mvc.Transaction, network?: string): void;
