export type QoS = 0 | 1 | 2; export type ProtocolVersion = 3 | 4 | 5; export type ProtocolId = 'MQTT' | 'MQIsdp'; export declare function checkQoS(qos: number, error?: string): QoS; export declare function checkProtocolVersion(version: number): ProtocolVersion; export declare function checkProtocolId(id: string): ProtocolId; export declare type PacketCmd = 'auth' | 'connack' | 'connect' | 'disconnect' | 'pingreq' | 'pingresp' | 'puback' | 'pubcomp' | 'publish' | 'pubrel' | 'pubrec' | 'suback' | 'subscribe' | 'unsuback' | 'unsubscribe'; export type UserProperties = { [index: string]: string | string[]; }; export interface IPacket { cmd: PacketCmd; messageId?: number; length?: number; } export interface IConnectPacket extends IPacket { cmd: 'connect'; clientId: string; protocolVersion?: ProtocolVersion; protocolId?: ProtocolId; clean?: boolean; keepalive?: number; username?: string; password?: Uint8Array; will?: { topic?: string; payload?: Uint8Array; retain?: boolean; qos?: QoS; }; } export interface IConnackPacket extends IPacket { cmd: 'connack'; sessionPresent?: boolean; returnCode?: number; } export interface IDisconnectPacket extends IPacket { cmd: 'disconnect'; } export interface IPingreqPacket extends IPacket { cmd: 'pingreq'; } export interface IPingrespPacket extends IPacket { cmd: 'pingresp'; } export interface IPubackPacket extends IPacket { cmd: 'puback'; messageId: number; } export interface IPubcompPacket extends IPacket { cmd: 'pubcomp'; messageId: number; } export interface PublishOptions { qos?: QoS; dup?: boolean; retain?: boolean; } export interface IPublishPacket extends PublishOptions, IPacket { cmd: 'publish'; messageId?: number; topic: string; payload: Uint8Array; } export interface IPubrecPacket extends IPacket { cmd: 'pubrec'; messageId: number; } export interface IPubrelPacket extends IPacket { cmd: 'pubrel'; messageId: number; } export interface ISubackPacket extends IPacket { cmd: 'suback'; messageId: number; granted: number[]; } export interface ISubscription { topic: string; qos: QoS; } export interface ISubscribePacket extends IPacket { cmd: 'subscribe'; messageId: number; subscriptions: ISubscription[]; } export interface IUnsubackPacket extends IPacket { cmd: 'unsuback'; messageId: number; } export interface IUnsubscribePacket extends IPacket { cmd: 'unsubscribe'; messageId: number; unsubscriptions: string[]; } export interface PacketOptions { protocolVersion: ProtocolVersion; } export declare function encodeUint8Array(bytes: Uint8Array): number[]; export declare function decodeUint8Array(buffer: Uint8Array, startIndex: number): Uint8Array | undefined; export declare function parseMessageId(buffer: Uint8Array, startIndex: number): number; export declare function createHeaderFlagsError(requiredHeaderFlag: number, types: string): string; //# sourceMappingURL=basic.d.mts.map