import MessageChannel from '../MessageChannel';
import EncryptionInfo from '../EncryptionInfo';
import { MessagingConfig, ParamsBase, ProviderInfoBase, SingleChannelParams } from '../MessagingConfig';
declare abstract class ChannelProviderFactory {
    protected _preferredInfo: object;
    protected _encryptionInfo: EncryptionInfo;
    protected constructor(params: any);
    abstract getProvider(messagingConfig: MessagingConfig): MessageChannel<ParamsBase<ProviderInfoBase>>;
    getPreferredProviderInfo(providerInfo: any): any;
    protected isPubNub(info: SingleChannelParams): boolean;
    protected isWebsocket(info: SingleChannelParams): boolean;
    protected isKnownProvider(info: SingleChannelParams): boolean;
}
export default ChannelProviderFactory;
//# sourceMappingURL=ChannelProviderFactory.d.ts.map