import type { RpcSubscriptions, SolanaRpcSubscriptionsApi, Commitment, Address, Signature } from "@solana/kit"; type WsRaw = RpcSubscriptions; type LogsReq = ReturnType; type SlotReq = ReturnType; type SignatureReq = ReturnType; type ProgramReq = ReturnType; type AccountReq = ReturnType; /** Filter for `logsNotifications` — subscribe to all logs or logs mentioning a specific address. */ export type LogsFilter = "all" | "allWithVotes" | Readonly<{ mentions: readonly [Address]; }>; /** Configuration options for WebSocket subscriptions. */ export type LogsConfig = Readonly<{ commitment?: Commitment; }>; /** * WebSocket RPC subscription client. Provides promisified access to * Solana's WebSocket subscriptions (logs, slots, signatures, programs, accounts). * * All subscription methods return a `Promise` that resolves to a subscription * object with an async iterator. */ export interface WsAsync { /** Subscribe to transaction logs. */ logsNotifications(filter: LogsFilter, config?: LogsConfig): Promise; /** Subscribe to slot updates. */ slotNotifications(config?: LogsConfig): Promise; /** Subscribe to signature confirmation status. */ signatureNotifications(signature: Signature | string, config?: LogsConfig): Promise; /** Subscribe to program account updates. */ programNotifications(...args: Parameters): Promise; /** Subscribe to account updates. */ accountNotifications(...args: Parameters): Promise; /** Manually close the underlying WebSocket connection. */ close(): void; } /** Create a promisified WebSocket RPC subscription client. */ export declare const makeWsAsync: (wsUrl: string) => WsAsync; export {}; //# sourceMappingURL=wsAsync.d.ts.map