/// /** * @packageDocumentation * @module mqtt_shared */ import * as mqtt_shared from "../common/mqtt_shared"; import * as mqtt5 from "../common/mqtt5"; /** * Converts payload to Buffer only, regardless of the supplied type * @param payload The payload to convert * @internal */ export declare function normalize_payload_to_buffer(payload: any): Buffer; /** @internal */ export interface TopicProperties { isValid: boolean; isShared: boolean; hasWildcard: boolean; } /** @internal */ export declare function computeTopicProperties(topic: string, isFilter: boolean): TopicProperties; /** @internal */ export declare function isValidTopicFilter(topicFilter: any): boolean; /** @internal */ export declare function isValidTopic(topic: any): boolean; /** @internal */ export interface ReconnectDelayContext { retryJitterMode?: mqtt5.RetryJitterType; minReconnectDelayMs?: number; maxReconnectDelayMs?: number; lastReconnectDelay?: number; connectionFailureCount: number; } /** * Computes the next reconnect delay based on the Jitter/Retry configuration. * Implements jitter calculations in https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/ * @internal */ export declare function calculateNextReconnectDelay(context: ReconnectDelayContext): number; export declare function buildFinalUsernameFromMetrics(metrics: mqtt_shared.AWSIoTMetrics, username?: string): string;