import { ClusterHealth, Currency, Env, ExchangeInfo, ExchangeParams, MarketInfo, MarketParams } from "./types";
import { TimeFrameOption } from "./types/timeframeOption";
export declare class Account {
    baseUrl: string;
    private headers;
    private client;
    private expressClient;
    constructor(baseUrl: string, accessToken?: string, env?: Env);
    paused(refresh?: boolean): Promise<boolean>;
    getClusterHealth(): Promise<ClusterHealth>;
    getExchange(params?: ExchangeParams): Promise<ExchangeInfo>;
    getMarket(params: MarketParams): Promise<MarketInfo>;
    getMarkets(): Promise<MarketInfo[]>;
    /**
     * # Get markets with search, filter, sorting, and ordering
     * @param q - search query. Searches for the query in the market name, symbol, and address
     * @param window - timeframe option. Default is 3m
     * @param indexPriceFilterLo - index price filter
     * @param indexPriceFilterHi - index price filter
     * @param marketPriceFilterLo - market price filter
     * @param marketPriceFilterHi - market price filter
     * @param trendFilterLo - trend filter
     * @param trendFilterHi - trend filter
     * @param trendPriceSpecifier - specifies what trend price to filter on (market or index). Default is market
     * @param fundingRateFilterLo - funding rate filter
     * @param fundingRateFilterHi - funding rate filter
     * @param volumeFilterLo - volume filter
     * @param volumeFilterHi - volume filter
     * @param openInterestFilterLo - open interest filter
     * @param openInterestFilterHi - open interest filter
     * @param sort - sort by. Default is openInterest
     * @param order - order. Default is desc
     * @param fpuFilterLo - funding per unit filter
     * @param fpuFilterHi - funding per unit filter
     * @param fundingVelocityFilterLo - funding velocity filter
     * @param fundingVelocityFilterHi - funding velocity filter
     *
     * @example
     * ```typescript
     * const filteredMarkets = await sdk.account.getMarketsWithFilter({
     *    q: 'ny',
     *    indexPriceFilterLo: 3,
     *    indexPriceFilterHi: 700,
     *    marketPriceFilterLo: 3,
     *    marketPriceFilterHi: 700,
     *    trendFilterLo: 0,
     *    trendFilterHi: 15,
     *    trendPriceSpecifier: "index",
     *    fundingRateFilterLo: -10,
     *    fundingRateFilterHi: 0,
     *    volumeFilterLo: 200,
     *    volumeFilterHi: 2000000000,
     *    openInterestFilterLo: 200,
     *    openInterestFilterHi: 40500000,
     *    fpuFilterLo: -350,
     *    fpuFilterHi: -30,
     *    tags: ['real-estate', 'rental'],
     *    live: true,
     *    sort: "marketPriceTrend",
     *    order: "asc",
     *    window: "1d",
     * });
     * ```
     *
     */
    getMarketsWithFilter(params: MarketInfoQueryParams): Promise<FilteredMarket[]>;
    getStakingInfo(): Promise<{
        totalStakedPrcl: number;
        uniqueAddresses: number;
    }>;
}
export type BaseMarketCategory = "token" | "forex" | "real-estate";
export type FilteredMarket = {
    marketId: string | null;
    name: string;
    address: string;
    parclId: number | null;
    priceFeed: string;
    isNew: boolean;
    tradable: boolean;
    symbol: string;
    marketCategory: BaseMarketCategory;
    currency: Currency;
    metric: string | null;
    pythTokenId: string | null;
    marketPrice: string | null;
    indexPrice: string | null;
    fundingPerUnit: string | null;
    skew: string | null;
    fundingRate: string | null;
    fundingVelocity: string | null;
    totalOpenInterest: string | null;
    volume: string | null;
    marketPriceTrend: string | null;
    indexPriceTrend: string | null;
    longPct: number | null;
    shortPct: number | null;
    tags: MarketTags[];
};
export type FilteredMarketsResponse = {
    markets: FilteredMarket[];
};
export type MarketInfoQueryParams = {
    q?: string;
    window?: TimeFrameOption;
    indexPriceFilterLo?: number;
    indexPriceFilterHi?: number;
    marketPriceFilterLo?: number;
    marketPriceFilterHi?: number;
    trendFilterLo?: number;
    trendFilterHi?: number;
    trendPriceSpecifier?: "index" | "market";
    fundingRateFilterLo?: number;
    fundingRateFilterHi?: number;
    volumeFilterLo?: number;
    volumeFilterHi?: number;
    openInterestFilterLo?: number;
    openInterestFilterHi?: number;
    fpuFilterLo?: number;
    fpuFilterHi?: number;
    tags?: MarketTags[];
    live?: boolean;
    isNew?: boolean;
    sort?: MarketInfoSortOption;
    order?: "asc" | "desc";
    baseCategory?: BaseCategory;
};
export type MarketTags = "real-estate" | "token" | "forex" | "rental" | "sales" | "polar-vortex" | "la-strong";
export type BaseCategory = "all-markets" | "token" | "forex" | "real-estate" | "active-markets" | "non-trading";
export type MarketInfoSortOption = "openInterest" | "indexPriceTrend" | "marketPriceTrend" | "volume" | "fundingRate" | "fundingVelocity" | "skew";
//# sourceMappingURL=account.d.ts.map