import { IClientPublishOptions, IClientSubscribeOptions, IPublishPacket } from 'mqtt'; import { MqttConnection } from './mqtt.types'; declare enum ClientState { uninitialized = 0, initialized = 1, connecting = 2, connected = 3, reconnecting = 4, disconnected = 5, offline = 6, ended = 7, closed = 8 } export type ClientStateListener = (state: ClientState) => Promise; export type MessageHandler = { handleMessage: (topic: string, message: string | Buffer, packet: IPublishPacket) => Promise; }; export declare class MqttClient { private readonly logger; readonly state: import("@ngbites/reactive-enum").ReactiveEnum; private messageHander; private delegate; quit(): Promise; connect(connection: MqttConnection, messagehandler: MessageHandler): Promise; publish(topic: string, message: Buffer | string, options?: IClientPublishOptions): Promise; subscribe(topic: string, options?: IClientSubscribeOptions): Promise; private connectionHandler; private reconnectHandler; private closeHandler; private disconnectHandler; private offlineHandler; private errorHandler; private endHandler; private onMessage; } export {}; //# sourceMappingURL=mqtt.client.d.ts.map