import type { DirectMessage, GroupMessage, ProfileInfo } from './types.js'; export interface ClassifiedMessages { directMessages: DirectMessage[]; groupMessages: GroupMessage[]; } export type OnMessageArrivedCallback = () => void; export declare class MessageBuffer { private buffer; private resolvers; private onMessageArrived; private isPolling; private seenMsgIds; setOnMessageArrived(callback: OnMessageArrivedCallback | null): void; setIsPolling(polling: boolean): void; private markSeen; private isDuplicate; private cleanupSeenMsgIds; push(message: DirectMessage | GroupMessage): void; setProfileMessage(profile: ProfileInfo): void; removeProfileMessage(): void; hasProfileMessage(): boolean; wakeUpWaiters(): void; getProfileMessage(): null; private updatePollingState; poll(timeoutMs?: number): Promise; get(): ClassifiedMessages; takeForceDirectMessages(): ClassifiedMessages; requeue(messages: ClassifiedMessages): void; size(): number; clear(): void; private tryDispatch; private consumeAll; private isDirectMessage; }