UNPKG

685 BTypeScriptView Raw
1import Observable from 'zen-observable-ts';
2import { PubSubProvider, ProviderOptions } from '../types/Provider';
3import { PubSubContent } from '../types/PubSub';
4export declare abstract class AbstractPubSubProvider<T extends ProviderOptions> implements PubSubProvider {
5 private _config;
6 constructor(options: T);
7 configure(config: T): T;
8 getCategory(): string;
9 abstract getProviderName(): string;
10 protected get options(): T;
11 abstract newClient(clientOptions: T): Promise<any>;
12 abstract publish(topics: string[] | string, msg: PubSubContent, options?: T): void;
13 abstract subscribe(topics: string[] | string, options?: T): Observable<PubSubContent>;
14}