import type { RestFetcher } from '../../rest.js';
export declare const createFuturesRouter: (request: RestFetcher) => {
    addMargin: (body: {
        amount: number;
        id: import("../../index.js").UUID;
    }) => Promise<import("./types.js").FuturesRunningTrade>;
    cancelAllTrades: () => Promise<{
        trades: import("./types.js").FuturesCanceledTrade[];
    }>;
    cancelTrade: (body: {
        id: import("../../index.js").UUID;
    }) => Promise<import("./types.js").FuturesCanceledTrade>;
    cashIn: (body: {
        amount: number;
        id: import("../../index.js").UUID;
    }) => Promise<import("./types.js").FuturesRunningTrade>;
    closeAllTrades: () => Promise<{
        trades: import("./types.js").FuturesClosedTrade[];
    }>;
    closeTrade: (query: {
        id: import("../../index.js").UUID;
    }) => Promise<import("./types.js").FuturesClosedTrade>;
    getCarryFeesHistory: (query: {
        from: number;
        limit?: number;
        to: number;
    }) => Promise<{
        fee: number;
        fixingId: import("../../index.js").UUID;
        id: import("../../index.js").UUID;
        ts: number;
    }[]>;
    getFixingHistory: (query?: {
        from: number;
        limit?: number;
        to: number;
    }) => Promise<{
        feeRate: number;
        id: import("../../index.js").UUID;
        price: number;
        time: number;
    }[]>;
    getIndexHistory: (query?: {
        from: number;
        limit?: number;
        to: number;
    }) => Promise<{
        time: number;
        value: number;
    }[]>;
    getLeaderboard: () => Promise<import("../user/types.js").Leaderboard>;
    getMarketDetails: () => Promise<import("./types.js").FuturesMarketDetails>;
    getOHLCHistory: (query: {
        from: number;
        limit?: number;
        range: import("./types.js").OHLCRange;
        to: number;
    }) => Promise<import("./types.js").OHLC[]>;
    getPriceHistory: (query?: {
        from: number;
        limit?: number;
        to: number;
    }) => Promise<{
        time: number;
        value: number;
    }[]>;
    getTicker: () => Promise<import("./types.js").FuturesTicker>;
    getTrade: (params: {
        id: import("../../index.js").UUID;
    }) => Promise<import("./types.js").FuturesTrade>;
    getTrades: (query: {
        from?: number;
        limit?: number;
        to?: number;
        type: import("./types.js").FuturesTradeStatus;
    }) => Promise<import("./types.js").FuturesTrade[]>;
    newTrade: (body: {
        leverage: number;
        margin?: number;
        price?: number;
        quantity?: number;
        side: import("./types.js").FuturesTradeSide;
        stoploss?: number;
        takeprofit?: number;
        type: import("./types.js").FuturesTradeType;
    }) => Promise<import("./types.js").FuturesOpenOrRunningTrade>;
    updateTrade: (body: {
        id: import("../../index.js").UUID;
        type: "stoploss" | "takeprofit";
        value: number;
    }) => Promise<import("./types.js").FuturesOpenOrRunningTrade>;
};
