/** * Composes {@link runReconnectLoop} + {@link createBufferedDispatcher} + * {@link makeSubscriptionHandle} for single-source listeners (slot, native SOL). * * Multi-source listeners (oracle, fan-out per address) compose these * primitives directly — they share one dispatcher across multiple loops, * which is outside this helper's single-source shape. */ import { type RpcSubscriptions, type SolanaRpcSubscriptionsApi } from '@solana/kit'; import { type SubscriptionHandle } from './subscriptionHandle'; import type { WsCadenceOptions } from './wsCadenceOptions'; import type { WsListenerObservability } from './wsListenerObservability'; export interface StandaloneSubscriptionOptions extends WsListenerObservability, WsCadenceOptions { wsRpc: RpcSubscriptions; /** Omit for single-slot (latest-wins). Pass for per-key buckets. */ keyOf?: (event: TEvent) => unknown; subscribe: (wsRpc: RpcSubscriptions, abortSignal: AbortSignal) => Promise>; toEvent: (message: TMessage) => TEvent; onChange: (event: TEvent) => void; /** Prefix for the default `console.error` fallback (e.g. `'[listenToSlotChanges]'`). */ errorPrefix: string; /** Function name used in validation error messages (e.g. `'listenToSlotChanges'`). */ callSiteName: string; } export declare function createStandaloneSubscription(opts: StandaloneSubscriptionOptions): SubscriptionHandle; //# sourceMappingURL=createStandaloneSubscription.d.ts.map