import { Observable } from 'rxjs';
import { MessageType } from '../../constants';
import { HubPropertiesFeature } from './hub-properties-feature';
import type { ILogger, RawMessage } from '../../types';
import type { IHubPropertiesFeatureFactory, IInboundMessageListenerFactory, IOutboundMessenger, IReplyParser } from '../../hub';
import type { IHubPropertiesMessageFactory } from './i-hub-properties-message-factory';
import type { IHubPropertiesFeatureErrorsFactory } from './i-hub-properties-feature-errors-factory';
export declare class HubPropertiesFeatureFactory implements IHubPropertiesFeatureFactory {
    private readonly messageListenerFactory;
    private readonly replyParser;
    private readonly messageFactory;
    private readonly errorsFactory;
    constructor(messageListenerFactory: IInboundMessageListenerFactory, replyParser: IReplyParser<MessageType.properties>, messageFactory: IHubPropertiesMessageFactory, errorsFactory: IHubPropertiesFeatureErrorsFactory);
    create(characteristicDataStream: Observable<RawMessage<MessageType>>, onHubDisconnected: Observable<void>, messenger: IOutboundMessenger, logger: ILogger): HubPropertiesFeature;
}
