import { Callable, Flatten, OverloadImplementations, UnionToIntersection } from '@solana/rpc-spec-types'; import { RpcSubscriptionsApi } from './rpc-subscriptions-api'; import { PendingRpcSubscriptionsRequest } from './rpc-subscriptions-request'; import { RpcSubscriptionsTransport } from './rpc-subscriptions-transport'; export type RpcSubscriptionsConfig = Readonly<{ api: RpcSubscriptionsApi; transport: RpcSubscriptionsTransport; }>; /** * An object that exposes all of the functions described by `TRpcSubscriptionsMethods`. * * Calling each method returns a * {@link PendingRpcSubscriptionsRequest | PendingRpcSubscriptionsRequest} where * `TNotification` is that method's notification type. */ export type RpcSubscriptions = { [TMethodName in keyof TRpcSubscriptionsMethods]: PendingRpcSubscriptionsRequestBuilder>; }; type PendingRpcSubscriptionsRequestBuilder = UnionToIntersection; }>>; type PendingRpcSubscriptionsRequestReturnTypeMapper = TSubscriptionMethodImplementation extends Callable ? (...args: Parameters) => PendingRpcSubscriptionsRequest> : never; /** * Creates a {@link RpcSubscriptions} instance given a * {@link RpcSubscriptionsApi | RpcSubscriptionsApi} and a * {@link RpcSubscriptionsTransport} capable of fulfilling them. */ export declare function createSubscriptionRpc(rpcConfig: RpcSubscriptionsConfig): RpcSubscriptions; export {}; //# sourceMappingURL=rpc-subscriptions.d.ts.map