import Observable from 'zen-observable-ts'; import { PubSubProvider, ProvidertOptions } from '../types'; export declare abstract class AbstractPubSubProvider implements PubSubProvider { private _config; constructor(options?: ProvidertOptions); configure(config?: ProvidertOptions): ProvidertOptions; getCategory(): string; abstract getProviderName(): string; protected readonly options: ProvidertOptions; abstract newClient(clientOptions: ProvidertOptions): Promise; abstract publish(topics: string[] | string, msg: any, options?: ProvidertOptions): void; abstract subscribe(topics: string[] | string, options?: ProvidertOptions): Observable; }