/// /** * @see https://github.com/mqttjs/MQTT.js/ * * @publicApi */ export declare type QoS = 0 | 1 | 2; export interface MqttClientOptions extends ISecureClientOptions { port?: number; host?: string; hostname?: string; path?: string; protocol?: 'wss' | 'ws' | 'mqtt' | 'mqtts' | 'tcp' | 'ssl' | 'wx' | 'wxs'; wsOptions?: { [x: string]: any; }; /** * 10 seconds, set to 0 to disable */ keepalive?: number; /** * 'mqttjs_' + Math.random().toString(16).substr(2, 8) */ clientId?: string; /** * 'MQTT' */ protocolId?: string; /** * 4 */ protocolVersion?: number; /** * true, set to false to receive QoS 1 and 2 messages while offline */ clean?: boolean; /** * 1000 milliseconds, interval between two reconnections */ reconnectPeriod?: number; /** * 30 * 1000 milliseconds, time to wait before a CONNACK is received */ connectTimeout?: number; /** * the username required by your broker, if any */ username?: string; /** * the password required by your broker, if any */ password?: string; /** * a any for the incoming packets */ incomingStore?: any; /** * a any for the outgoing packets */ outgoingStore?: any; queueQoSZero?: boolean; /** * properties MQTT 5.0. */ properties?: { /** * representing the Session Expiry Interval in seconds */ sessionExpiryInterval?: number; /** * representing the Receive Maximum */ receiveMaximum?: number; /** * representing the Maximum Packet Size the Client is willing to accept */ maximumPacketSize?: number; /** * representing the Topic Alias Maximum value indicates the highest value that the Client will accept as a Topic Alias sent by the Server */ topicAliasMaximum?: number; /** * The Client uses this value to request the Server to return Response Information in the CONNACK */ requestResponseInformation?: boolean; /** * The Client uses this value to indicate whether the Reason String or User Properties are sent in the case of failures */ requestProblemInformation?: boolean; /** * The User Property is allowed to appear multiple times to represent multiple name, value pairs */ userProperties?: object; /** * the name of the authentication method used for extended authentication */ authenticationMethod?: string; /** * * Binary Data containing authentication data (binary type) * */ authenticationData?: any; }; reschedulePings?: boolean; servers?: Array<{ host: string; port: number; }>; /** * true, set to false to disable re-subscribe functionality */ resubscribe?: boolean; /** * a message that will sent by the broker automatically when the client disconnect badly. */ will?: { /** * the topic to publish */ topic: string; /** * the message to publish */ payload: string; /** * the QoS */ qos: QoS; /** * the retain flag */ retain: boolean; }; transformWsUrl?: (url: string, options: any, client: any) => string; } export interface ISecureClientOptions { /** * optional private keys in PEM format */ key?: string | string[] | Buffer | Buffer[] | Record[]; /** * optional cert chains in PEM format */ cert?: string | string[] | Buffer | Buffer[]; /** * Optionally override the trusted CA certificates in PEM format */ ca?: string | string[] | Buffer | Buffer[]; rejectUnauthorized?: boolean; } export interface IClientPublishOptions { /** * the QoS */ qos: QoS; /** * the retain flag */ retain?: boolean; /** * whether or not mark a message as duplicate */ dup?: boolean; } export interface IClientSubscribeOptions { /** * the QoS */ qos: QoS; } export interface IClientReconnectOptions { /** * a any for the incoming packets */ incomingStore?: any; /** * a any for the outgoing packets */ outgoingStore?: any; }