import type { FeeTier } from '@lifi/perps-types'; import type { PerpsSDKClient, ProviderGetQuoteParams, QuoteListener } from '../types/provider.js'; import type { WsProvider } from '../websocket/types.js'; /** * Minimum gap between successive streamed {@link Quote} emissions — the same * 100 ms pacing applied to streamed orderbook rendering, so a quote ticks no * faster than the book it derives from. * * @public */ export declare const QUOTE_THROTTLE_MS = 100; /** * Shared provider-side `subscribeQuote` implementation: resolve * `params.symbol` to a market on `provider` (via {@link resolveQuoteMarket}), * subscribe to that market's orderbook channel on `ws`, and on each book * update rebuild the {@link Quote} with the provider's public base `feeTier` — * the same transform the one-shot `resolveQuote` applies to a REST snapshot. * Emissions are throttled to {@link QUOTE_THROTTLE_MS}: the first book update * emits immediately, then at most one (trailing, latest-book) emission per * interval. Both venue WS plugins delegate here; each only supplies its own * base tier. * * The returned unsubscribe is idempotent — it releases the underlying * orderbook listener once and cancels any pending trailing emission, so the * wire subscription's ref count cannot be double-decremented. * * @throws {PerpsError} `MarketNotFound` when no market matches symbol+type. * @internal */ export declare function resolveSubscribeQuote(client: PerpsSDKClient, provider: string, ws: Pick, params: ProviderGetQuoteParams, feeTier: FeeTier, onQuote: QuoteListener): Promise<() => void>; //# sourceMappingURL=resolveSubscribeQuote.d.ts.map