/// <reference types="node" />
import { Tx } from '@node-dlc/bitcoin';
import { DlcAccept, DlcOffer, DlcTransactions } from '..';
/**
 * DlcClose Metadata object contains information required for verifying DlcClose
 * message.
 */
export declare class DlcCloseMetadata {
    /**
     * Convert JSON to DlcCloseMetadata
     * @param json
     */
    static fromJSON(json: IDlcCloseMetadataJSON): DlcCloseMetadata;
    static fromDlcMessages(dlcOffer: DlcOffer, dlcAccept: DlcAccept, dlcTxs: DlcTransactions): DlcCloseMetadata;
    offerFundingPubKey: Buffer;
    acceptFundingPubKey: Buffer;
    offerPayoutSPK: Buffer;
    acceptPayoutSPK: Buffer;
    offerPayoutSerialId: bigint;
    acceptPayoutSerialId: bigint;
    feeRatePerVb: bigint;
    fundTx: Tx;
    fundTxVout: number;
    /**
     * Converts dlc_close_metadata to JSON
     */
    toJSON(): IDlcCloseMetadataJSON;
    toDlcMessages(): {
        dlcOffer: DlcOffer;
        dlcAccept: DlcAccept;
        dlcTxs: DlcTransactions;
    };
}
export interface IDlcCloseMetadataJSON {
    offerFundingPubKey: string;
    acceptFundingPubKey: string;
    offerPayoutSPK: string;
    acceptPayoutSPK: string;
    offerPayoutSerialId: number;
    acceptPayoutSerialId: number;
    feeRatePerVb: number;
    fundTx: string;
    fundTxVout: number;
}
