/**
 * An aggregate channel that serves as a container for sub-channels and collapses to the first subchannel that becomes active
 * At which point this aggregate acts as a simple pass-through decorator to the sub-channel
 */
import MessageChannelProvider from './MessageChannelProvider';
import MessageChannel from './MessageChannel';
import { MessagingConfig, SingleChannelParams } from './MessagingConfig';
declare class AggregateChannelProvider extends MessageChannelProvider<MessagingConfig> {
    private _providers;
    private _foundActiveProvider;
    private readonly _encryptionInfo;
    private readonly _providersParams;
    sessionId: string;
    constructor(params: MessagingConfig, encryptionInfo: any);
    addProvider(provider: MessageChannel<SingleChannelParams>): void;
    initialize(): void;
    setSessionActiveEventHandler(handler: any): void;
    private getWebSocketProvider;
    private setSessionWebSocketHandler;
    private postSetSessionActiveHandler;
    setEventHandler(originatorId: any, event: any, handler: any): void;
    private removeOtherProviders;
    removeEventHandlers(originatorId: any): boolean;
    onMessage(message: any): void;
    notifyMessage(message: any): void;
    publish(message: any): void;
    reset(): void;
    getProviderInfo(): string;
    get clientInfo(): any;
    unsubscribeFromChannels(): void;
    getChannelParams(): MessagingConfig;
    private upgradeToEncryptedChannel;
    updateSettings(settings: any): void;
    setErrorCallback(callback: any): void;
}
export default AggregateChannelProvider;
//# sourceMappingURL=AggregateChannelProvider.d.ts.map