import type { DeeptradeNetwork } from "../deepbook-config.js"; import type { CommonOhlcvTimeframe, DataProvider, MarginPoolsRequest, NormalizedOrderbook, TradesStreamEvent, TradesStreamOptions, TradesStreamRequest, TradesSubscription } from "./types.js"; export interface SurfluxProviderOptions { network: DeeptradeNetwork; restBaseUrl: string; streamBaseUrl: string; } export declare const SUPPORTED_SURFLUX_OHLCV_TIMEFRAMES: readonly ["1m", "5m", "15m", "1h", "4h", "1d"]; export type SurfluxOhlcvTimeframe = CommonOhlcvTimeframe; export declare class SurfluxProvider implements DataProvider { readonly name = "surflux"; readonly supportedOhlcvTimeframes: readonly ["1m", "5m", "15m", "1h", "4h", "1d"]; readonly defaultOhlcvTimeframe: "1m" | "5m" | "15m" | "1h" | "4h" | "1d"; readonly network: DeeptradeNetwork; private readonly client; constructor(options: SurfluxProviderOptions); getSpotPools(): Promise; getMarginPools(request?: MarginPoolsRequest): Promise; getPools(): Promise; private collectRegisteredMarginPoolIds; private readMarginPoolId; private readOptionalString; getOrderbook(poolInput: string, depth: number): Promise; normalizeOrderbook(raw: unknown): NormalizedOrderbook; getTrades(poolInput: string, limit: number): Promise; resolveOhlcvTimeframe(value?: string): SurfluxOhlcvTimeframe; getOhlcv(poolInput: string, timeframe: SurfluxOhlcvTimeframe, limit: number): Promise; subscribeTrades(request: TradesStreamRequest, onEvent: (event: TradesStreamEvent) => void, options?: TradesStreamOptions): TradesSubscription; private normalizeLevels; private normalizeLevel; private toRequiredString; }