/**
 * Market data types for Binance Futures API
 */
import { IntervalType } from './base';
export interface SymbolInfo {
    symbol: string;
    pair: string;
    contractType: string;
    deliveryDate: number;
    onboardDate: number;
    status: string;
    maintMarginPercent: string;
    requiredMarginPercent: string;
    baseAsset: string;
    quoteAsset: string;
    marginAsset: string;
    pricePrecision: number;
    quantityPrecision: number;
    baseAssetPrecision: number;
    quotePrecision: number;
    underlyingType: string;
    underlyingSubType: string[];
    settlePlan: number;
    triggerProtect: string;
    liquidationFee: string;
    marketTakeBound: string;
    filters: SymbolFilter[];
    orderTypes: string[];
    timeInForce: string[];
}
export interface Filter {
    filterType: string;
    maxPrice?: string;
    minPrice?: string;
    tickSize?: string;
    stepSize?: string;
    maxQty?: string;
    minQty?: string;
    limit?: number;
    notional?: string;
    multiplierUp?: string;
    multiplierDown?: string;
    multiplierDecimal?: string;
}
export interface ExchangeInfo {
    exchangeFilters: ExchangeFilter[];
    rateLimits: RateLimit[];
    serverTime: number;
    assets: Asset[];
    symbols: SymbolInfo[];
    timezone: string;
}
export interface RateLimit {
    rateLimitType: string;
    interval: string;
    intervalNum: number;
    limit: number;
}
export interface Asset {
    asset: string;
    marginAvailable: boolean;
    autoAssetExchange: string;
}
export interface OrderBook {
    lastUpdateId: number;
    E: number;
    T: number;
    bids: [string, string][];
    asks: [string, string][];
}
export interface MarketTrade {
    id: number;
    price: string;
    qty: string;
    quoteQty: string;
    time: number;
    isBuyerMaker: boolean;
}
export interface AggTrade {
    a: number;
    p: string;
    q: string;
    f: number;
    l: number;
    T: number;
    m: boolean;
}
export interface Kline {
    openTime: number;
    open: string;
    high: string;
    low: string;
    close: string;
    volume: string;
    closeTime: number;
    quoteAssetVolume: string;
    count: number;
    takerBuyBaseAssetVolume: string;
    takerBuyQuoteAssetVolume: string;
}
export interface MarkPrice {
    symbol: string;
    markPrice: string;
    indexPrice: string;
    estimatedSettlePrice: string;
    lastFundingRate: string;
    interestRate: string;
    nextFundingTime: number;
    time: number;
}
export interface FundingRate {
    symbol: string;
    fundingTime: number;
    fundingRate: string;
    markPrice: string;
}
export interface Ticker24hr {
    symbol: string;
    priceChange: string;
    priceChangePercent: string;
    weightedAvgPrice: string;
    lastPrice: string;
    lastQty: string;
    openPrice: string;
    highPrice: string;
    lowPrice: string;
    volume: string;
    quoteVolume: string;
    openTime: number;
    closeTime: number;
    firstId: number;
    lastId: number;
    count: number;
}
import { ExchangeFilter, SymbolFilter } from './filters';
export interface PriceTickerData {
    symbol: string;
    price: string;
    time: number;
}
export interface BookTicker {
    symbol: string;
    bidPrice: string;
    bidQty: string;
    askPrice: string;
    askQty: string;
    time: number;
}
export interface OpenInterest {
    openInterest: string;
    symbol: string;
    time: number;
}
export interface OpenInterestStatistics {
    symbol: string;
    sumOpenInterest: string;
    sumOpenInterestValue: string;
    timestamp: number;
}
export interface TopLongShortAccountRatio {
    symbol: string;
    longShortRatio: string;
    longAccount: string;
    shortAccount: string;
    timestamp: number;
}
export interface TopLongShortPositionRatio {
    symbol: string;
    longShortRatio: string;
    longPosition: string;
    shortPosition: string;
    timestamp: number;
}
export interface GlobalLongShortAccountRatio {
    symbol: string;
    longShortRatio: string;
    longAccount: string;
    shortAccount: string;
    timestamp: number;
}
export interface TakerLongShortRatio {
    buySellRatio: string;
    buyVol: string;
    sellVol: string;
    timestamp: number;
}
export interface HistoricalBlvtNavKlines {
    symbol: string;
    nav: [number, string, string, string, string, string][];
}
export interface CompositeIndexSymbolInfo {
    symbol: string;
    time: number;
    component: string;
    baseAssetList: {
        baseAsset: string;
        weightInQuantity: string;
        weightInPercentage: string;
    }[];
}
export interface MultiAssetsMode {
    multiAssetsMargin: boolean;
}
export interface GetOrderBookParams {
    symbol: string;
    limit?: 5 | 10 | 20 | 50 | 100 | 500 | 1000;
}
export interface GetTradesParams {
    symbol: string;
    limit?: number;
}
export interface GetHistoricalTradesParams {
    symbol: string;
    limit?: number;
    fromId?: number;
}
export interface GetAggTradesParams {
    symbol: string;
    fromId?: number;
    startTime?: number;
    endTime?: number;
    limit?: number;
}
export interface GetKlinesParams {
    symbol: string;
    interval: IntervalType;
    startTime?: number;
    endTime?: number;
    limit?: number;
}
export interface GetContinuousKlinesParams {
    pair: string;
    contractType: 'PERPETUAL' | 'CURRENT_MONTH' | 'NEXT_MONTH' | 'CURRENT_QUARTER' | 'NEXT_QUARTER';
    interval: IntervalType;
    startTime?: number;
    endTime?: number;
    limit?: number;
}
export interface GetIndexPriceKlinesParams {
    pair: string;
    interval: IntervalType;
    startTime?: number;
    endTime?: number;
    limit?: number;
}
export interface GetMarkPriceKlinesParams {
    symbol: string;
    interval: IntervalType;
    startTime?: number;
    endTime?: number;
    limit?: number;
}
export interface GetFundingRateParams {
    symbol?: string;
    startTime?: number;
    endTime?: number;
    limit?: number;
}
export interface GetOpenInterestParams {
    symbol: string;
}
export interface GetOpenInterestStatisticsParams {
    symbol: string;
    period: '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '12h' | '1d';
    limit?: number;
    startTime?: number;
    endTime?: number;
}
export interface GetTopLongShortAccountRatioParams {
    symbol: string;
    period: '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '12h' | '1d';
    limit?: number;
    startTime?: number;
    endTime?: number;
}
export interface GetTopLongShortPositionRatioParams {
    symbol: string;
    period: '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '12h' | '1d';
    limit?: number;
    startTime?: number;
    endTime?: number;
}
export interface GetGlobalLongShortAccountRatioParams {
    symbol: string;
    period: '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '12h' | '1d';
    limit?: number;
    startTime?: number;
    endTime?: number;
}
export interface GetTakerLongShortRatioParams {
    symbol: string;
    period: '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '12h' | '1d';
    limit?: number;
    startTime?: number;
    endTime?: number;
}
export interface GetHistoricalBlvtNavKlinesParams {
    symbol: string;
    interval: IntervalType;
    startTime?: number;
    endTime?: number;
    limit?: number;
}
export interface GetCompositeIndexSymbolInfoParams {
    symbol?: string;
}
//# sourceMappingURL=market.d.ts.map