/**
 * A PubNub channel provider that operates on two channels (one for publish, one for subscribe).
 */
import MessageChannelProvider from '../MessageChannelProvider';
import { PubnubParams } from '../MessagingConfig';
import { Status, StatusEvent, Subscription } from 'pubnub';
declare class PubNubDualChannelProvider extends MessageChannelProvider<PubnubParams> {
    private _pubnub;
    private _msgCallback;
    private static _identifier;
    constructor(params: PubnubParams);
    getProviderInfo(): string;
    initialize(callback: Function | undefined): void;
    onMessage(message: Subscription.Message): void;
    static channelStatusHandler(message: Status | StatusEvent): void;
    private initializePubNub;
    publish(message: any): Promise<void>;
    unsubscribeFromChannels(): void;
    get clientInfo(): any;
}
export default PubNubDualChannelProvider;
//# sourceMappingURL=PubNubDualChannelProvider.d.ts.map