import { BufferComposer, ComposableBuffer } from '@muirglacier/jellyfish-buffer';
import BigNumber from 'bignumber.js';
import { Script } from '../../tx';
export declare enum ICXOrderType {
    /** type for DFI/BTC orders */
    INTERNAL = 1,
    /** type for BTC/DFI orders */
    EXTERNAL = 2
}
/**
 * ICXCreateOrder DeFi Transaction
 */
export interface ICXCreateOrder {
    orderType: number;
    tokenId: number;
    ownerAddress: Script;
    receivePubkey?: string;
    amountFrom: BigNumber;
    amountToFill: BigNumber;
    orderPrice: BigNumber;
    expiry: number;
}
/**
 * Composable ICXCreateOrder, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CICXCreateOrder extends ComposableBuffer<ICXCreateOrder> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(cco: ICXCreateOrder): BufferComposer[];
}
/**
 * ICXMakeOffer DeFi Transaction
 */
export interface ICXMakeOffer {
    orderTx: string;
    amount: BigNumber;
    ownerAddress: Script;
    receivePubkey?: string;
    expiry: number;
    takerFee: BigNumber;
}
/**
 * Composable ICXMakeOffer, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CICXMakeOffer extends ComposableBuffer<ICXMakeOffer> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(cmo: ICXMakeOffer): BufferComposer[];
}
/**
 * ICXSubmitDFCHTLC DeFi transaction
 */
export interface ICXSubmitDFCHTLC {
    offerTx: string;
    amount: BigNumber;
    hash: string;
    timeout: number;
}
/**
 * Composable ICXSubmitDFCHTLC, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CICXSubmitDFCHTLC extends ComposableBuffer<ICXSubmitDFCHTLC> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(msg: ICXSubmitDFCHTLC): BufferComposer[];
}
/**
 * ICXSubmitEXTHTLC DeFi transaction
 */
export interface ICXSubmitEXTHTLC {
    offerTx: string;
    amount: BigNumber;
    hash: string;
    htlcScriptAddress: string;
    ownerPubkey: string;
    timeout: number;
}
/**
 * Composable ICXSubmitEXTHTLC, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CICXSubmitEXTHTLC extends ComposableBuffer<ICXSubmitEXTHTLC> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(msg: ICXSubmitEXTHTLC): BufferComposer[];
}
/**
 * ICXClaimDFCHTLC DeFi transaction
 */
export interface ICXClaimDFCHTLC {
    dfcHTLCTx: string;
    seed: string;
}
/**
 * Composable ICXClaimDFCHTLC, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CICXClaimDFCHTLC extends ComposableBuffer<ICXClaimDFCHTLC> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(msg: ICXClaimDFCHTLC): BufferComposer[];
}
/**
 * ICXCloseOrder DeFi Transaction
 */
export interface ICXCloseOrder {
    orderTx: string;
}
/**
 * Composable ICXCloseOrder, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CICXCloseOrder extends ComposableBuffer<ICXCloseOrder> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(co: ICXCloseOrder): BufferComposer[];
}
/**
 * ICXCloseOffer DeFi Transaction
 */
export interface ICXCloseOffer {
    offerTx: string;
}
/**
 * Composable ICXCloseOffer, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CICXCloseOffer extends ComposableBuffer<ICXCloseOffer> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(co: ICXCloseOffer): BufferComposer[];
}
//# sourceMappingURL=dftx_icxorderbook.d.ts.map