import { type PerpsSDKClient, type ProviderGetQuoteParams, type QuoteListener, WsProviderBase, type WsProviderFactory } from '@lifi/perps-sdk'; import type { Subscription } from '@lifi/perps-types'; import type { Address } from 'viem'; export type LighterAuthTokenResolver = (address: Address) => Promise; interface SubState { channel: string; address?: Address; needsAuth: boolean; } export interface LighterWsProviderOptions { restUrl?: string; resolveAuthToken?: LighterAuthTokenResolver; } export declare class LighterWsProvider extends WsProviderBase { private readonly api; private readonly resolveAuthTokenOverride; private readonly client; private readonly orderbooks; private marketsContext; private readonly positionsByAddress; private readonly registry; private readonly accountIndexCache; private readonly accountIndexPromises; constructor(wsUrl?: string, providerKey?: string, options?: LighterWsProviderOptions, client?: PerpsSDKClient); private authTokenResolver; subscribeQuote(params: ProviderGetQuoteParams, onQuote: QuoteListener): Promise<() => void>; protected openChannel(sub: Subscription): Promise<() => void>; protected onClose(): void; protected sendSubscribe({ channel, needsAuth, address, }: SubState): Promise; protected toKey(sub: Subscription): string; private resolveChannel; private resolveAccountIndex; private fetchAccountIndex; protected handleMessage(raw: string): void; private dispatch; private handleAccountOrders; private handleUserStats; private handleAccountTrades; private handleAccountPositions; private addressFromChannel; private handleMarketStats; private handleOrderBook; private handleTrades; private marketIdFromChannel; } export declare const lighterWsProvider: (options?: LighterWsProviderOptions) => WsProviderFactory; export {}; //# sourceMappingURL=LighterWsProvider.d.ts.map