@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
38 lines • 1.39 kB
TypeScript
/// <reference types="node" />
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<void>;
export type MessageHandler = {
handleMessage: (topic: string, message: string | Buffer, packet: IPublishPacket) => Promise<void>;
};
export declare class MqttClient {
private readonly logger;
readonly state: import("@ngbites/reactive-enum").ReactiveEnum<typeof ClientState>;
private messageHander;
private delegate;
quit(): Promise<void>;
connect(connection: MqttConnection, messagehandler: MessageHandler): Promise<void>;
publish(topic: string, message: Buffer | string, options?: IClientPublishOptions): Promise<void>;
subscribe(topic: string, options?: IClientSubscribeOptions): Promise<import("mqtt").ISubscriptionGrant[] | undefined>;
private connectionHandler;
private reconnectHandler;
private closeHandler;
private disconnectHandler;
private offlineHandler;
private errorHandler;
private endHandler;
private onMessage;
}
export {};
//# sourceMappingURL=mqtt.client.d.ts.map