import { BaseComponentOptions, JSONRPCSubscribeMethod, EventEmitter, BaseConsumer } from '..'; import type { PubSubChannel, InternalPubSubChannel, PubSubPublishParams, PubSubMessageEventName } from '../types/pubSub'; import { PubSubMessage } from './PubSubMessage'; export type BasePubSubApiEventsHandlerMapping = Record void>; /** * @privateRemarks * * Each package will have the option to either extend this * type or provide their own event mapping. */ export type BasePubSubApiEvents = { [k in keyof T]: T[k]; }; export declare class BasePubSubConsumer extends BaseConsumer { protected subscribeMethod: JSONRPCSubscribeMethod; constructor(options: BaseComponentOptions); protected initWorker(): void; private _getChannelsParam; /** @internal */ protected _setSubscribeParams(params: Record): void; /** @internal */ protected _getSubscribeParams({ channels }: { channels?: PubSubChannel; }): { channels: InternalPubSubChannel[]; }; /** @internal */ protected _getUnsubscribeParams({ channels }: { channels?: PubSubChannel; }): { channels: InternalPubSubChannel[]; }; private _checkMissingSubscriptions; /** @internal */ protected getSubscriptions(): EventEmitter.EventNames[]; subscribe(channels?: PubSubChannel): Promise; unsubscribe(channels: PubSubChannel): Promise; updateToken(token: string): Promise; publish(params: PubSubPublishParams): Promise; getAllowedChannels(): Promise; } export declare const createBasePubSubObject: (params: BaseComponentOptions) => PubSubType; //# sourceMappingURL=BasePubSub.d.ts.map