import { RegisterClientOptions, Resolvable } from './mqtt.types'; import { PacketWriteOptionsMap, PacketReadResultMap } from './packets'; import { MqttMessage } from './mqtt.message'; import { EventMapping, PacketType } from './mqtt.constants'; import EventEmitter = require('eventemitter3'); export declare enum StateId { Created = 0, Connecting = 1, Ready = 2, Disconnected = 3 } export declare class MqttBaseClient extends EventEmitter<{ error: (e: Error) => void; warning: (e: Error) => void; connect: (packet: ReadMap[PacketType.ConnAck]) => void; disconnect: (event?: { reason?: string | Error; reconnect: boolean; }) => void; message: (message: MqttMessage) => void; } & { [x in keyof EventMapping]: (arg: ReadMap[EventMapping[x]]) => void; }> { private sate; constructor(sate?: StateId); get current(): StateId; get created(): boolean; get ready(): boolean; get connecting(): boolean; get disconnected(): boolean; private _connectResolver?; set connectResolver(resolver: Resolvable | undefined); private _connectOptions?; get connectOptions(): RegisterClientOptions | undefined; set connectOptions(options: RegisterClientOptions | undefined); expectReady(): void; expectCreated(): void; expectConnecting(): void; hasConnectOptions(): boolean; resolveConnectOptions(): Promise; protected emitWarning: (e: Error) => boolean; protected emitError: (e: Error) => boolean; protected emitDisconnect: (event: { reason?: string | Error; reconnect: boolean; }) => boolean; protected emitConnect: (packet: ReadMap[PacketType.ConnAck]) => boolean; protected emitMessage: (message: MqttMessage) => boolean; protected reset(): void; protected setConnecting(): void; protected setReady(): void; protected _setDisconnected(): void; private next; }