import Observable from 'zen-observable-ts'; import { AbstractPubSubProvider } from './PubSubProvider'; import { ProvidertOptions, SubscriptionObserver } from '../types'; export declare function mqttTopicMatch(filter: string, topic: string): boolean; export interface MqttProvidertOptions extends ProvidertOptions { clientId?: string; url?: string; } declare class ClientsQueue { private promises; get(clientId: string, clientFactory: (string: any) => Promise): Promise; readonly allClients: string[]; remove(clientId: any): void; } export declare class MqttOverWSProvider extends AbstractPubSubProvider { private _clientsQueue; constructor(options?: MqttProvidertOptions); protected readonly clientId: any; protected readonly endpoint: any; protected readonly clientsQueue: ClientsQueue; protected readonly isSSLEnabled: boolean; protected getTopicForValue(value: any): any; getProviderName(): string; onDisconnect({ clientId, errorCode, ...args }: { [x: string]: any; clientId: any; errorCode: any; }): void; newClient({ url, clientId, }: MqttProvidertOptions): Promise; protected connect(clientId: string, options?: MqttProvidertOptions): Promise; protected disconnect(clientId: string): Promise; publish(topics: string[] | string, msg: any): Promise; protected _topicObservers: Map>>; protected _clientIdObservers: Map>>; private _onMessage; subscribe(topics: string[] | string, options?: MqttProvidertOptions): Observable; } export {};