/** * Message buffering system for storing messages during disconnections */ import { BufferedMessage } from '../connections/events.js'; export interface MessageBufferConfig { maxSize: number; maxAge: number; } export declare class MessageBuffer { private config; private buffer; private messageIdCounter; constructor(config: MessageBufferConfig); /** * Add a message to the buffer * Returns the buffered message with metadata */ add(data: string | ArrayBuffer | Blob): BufferedMessage; /** * Get all messages in the buffer */ getAll(): BufferedMessage[]; /** * Get messages that haven't exceeded max age */ getValid(): BufferedMessage[]; /** * Get and remove expired messages */ getExpired(): BufferedMessage[]; /** * Remove a specific message by ID */ remove(messageId: string): BufferedMessage | null; /** * Clear all messages from the buffer */ clear(): BufferedMessage[]; /** * Increment attempt count for a message */ incrementAttempt(messageId: string): boolean; /** * Get the current size of the buffer */ size(): number; /** * Check if buffer is empty */ isEmpty(): boolean; /** * Check if buffer is full */ isFull(): boolean; }