import { type DocumentPresenceSnapshot } from "../realtime/index.js"; /** * In-memory, process-local roster of live document participants. Presence is an * ephemeral delivery hint with per-entry expiry, never durable state, so a restart * simply empties the roster and clients re-announce on their next heartbeat. */ export declare class DocumentPresenceTracker { private readonly rosters; /** * Applies one revision-gated presence announcement. Returns false when a newer * revision for the same participant has already been observed. */ update(snapshot: DocumentPresenceSnapshot, now: number): boolean; /** Lists the still-unexpired participants of one document. */ list(documentId: string, now: number): DocumentPresenceSnapshot[]; /** Drops every participant of a deleted document. */ remove(documentId: string): void; } //# sourceMappingURL=presenceTracker.d.ts.map