import { IConnection } from './connections'; import { IdentifiedOperationRequest, OperationRequest } from './operations'; export interface ISubscriptionEvent { event: string; payload: any; } export interface ISubscriber { event: string; connection: IConnection; operation: OperationRequest; operationId: string; } export interface ISubscriptionManager { /** * Fetches all subscribers that listens to given event name and returns paged iterator * * @param name */ subscribersByEventName(name: string): AsyncIterable; /** * Subscribes to events * * @param names event names * @param connection * @param operation */ subscribe(names: string[], connection: IConnection, operation: IdentifiedOperationRequest): Promise; /** * Unsubscribes from subscription * * @param subscriber */ unsubscribe(subscriber: ISubscriber): Promise; /** * Unsubscribes client from specific subscription */ unsubscribeOperation(connectionId: string, operationId: string): Promise; /** * Unsubscribes all subscriptions for connection id * * @param connectionId */ unsubscribeAllByConnectionId(connectionId: string): Promise; } //# sourceMappingURL=subscriptions.d.ts.map