/** Bounded message log + per-sender resync watermark for GTP. */ /** One entry in {@link MessageHistory}. */ export interface MessageEntry { senderId: number; messageId: bigint; text: string; } /** * Bounded ring buffer of recent GTP messages. * * Used to serve resync requests from re-joining peers — keep a few * thousand recent messages, then `since(watermark)` returns everything * above the caller's high-water mark. */ export declare class MessageHistory { private readonly capacity; private buffer; constructor(capacity: number); get length(): number; /** Record a message. Returns `true` if newly added. */ push(entry: MessageEntry): boolean; /** `true` if `(senderId, messageId)` is present. */ contains(senderId: number, messageId: bigint): boolean; /** Yields every message produced after the given watermark. */ since(watermark: Watermark): Iterable; /** Yields messages from a single sender newer than `sinceMessageId`. */ sinceForSender(senderId: number, sinceMessageId: bigint): Iterable; /** Drops every message in the buffer. */ clear(): void; } /** Per-sender high-water mark of accepted GTP `message_id`s. */ export declare class Watermark { private readonly _lastSeen; /** Record that `messageId` from `senderId` has been observed. */ observe(senderId: number, messageId: bigint): void; /** Last observed `messageId` for `senderId`, or `null`. */ lastSeen(senderId: number): bigint | null; /** Returns a copy of the underlying map. */ snapshot(): Map; get size(): number; /** Drops every entry. */ clear(): void; } //# sourceMappingURL=history.d.ts.map