import { SimpleOrder, Side } from './base';
import { Server } from './server';
export declare namespace Tokenlon {
    type makerTaker = {
        maker: string;
        taker: string;
    };
    type BaseQuote = {
        base: string;
        quote: string;
    };
    interface GetOrdersParams extends BaseQuote {
        page?: number;
        perpage?: number;
    }
    interface OrderBookItem extends SimpleOrder {
        amountTotal: number;
        rawOrder: string;
        isMaker: boolean;
    }
    interface OrderBookResult {
        asks: OrderBookItem[];
        bids: OrderBookItem[];
    }
    interface SimpleOrderWithBaseQuote extends SimpleOrder {
        base: string;
        quote: string;
    }
    interface FillOrderParams extends SimpleOrderWithBaseQuote {
        rawOrder: string;
        [propName: string]: any;
    }
    interface TradesParams extends BaseQuote {
        page: number;
        perpage: number;
        timeRange?: [number, number];
    }
    interface MakerTradesItem {
        tradeType: Server.tradeType;
        trades: Server.MakerTradesDetailItem[];
        amountRemaining: number;
        expirationUnixTimestampSec: string;
        side: Side;
        rawOrder: string;
    }
    interface TakerTradesItem {
        tradeType: Server.tradeType;
        id: number;
        price: number;
        amount: number;
        timestamp: number;
        txHash: string;
        side: Side;
        rawOrder: string;
    }
    interface OrderDetail extends OrderBookItem {
        trades: Server.MakerTradesDetailItem[];
    }
    interface FillOrdersUpTo {
        base: string;
        quote: string;
        side: string;
        amount: number;
        rawOrders: string[];
    }
    interface TxOpts {
        gasPrice?: number;
        gasLimit?: number;
    }
}
