import { type DrizzleExecutor } from "../drizzle.js"; import { type DocumentPresenceSnapshot } from "../realtime/index.js"; import { type DocumentPresenceTracker } from "./presenceTracker.js"; import { type DocumentRealtimeAudience } from "./types.js"; /** * Applies one revision-gated, TTL-bounded presence announcement for the owner or a member * of any attached channel, with `not_found` denial so attachment is not probeable. Only * the in-memory roster changes; the returned durable audience lets the route fan out the * ephemeral hint to every attached channel and to an unattached owner without persisting presence. */ export declare function documentPresenceUpdate(executor: DrizzleExecutor, tracker: DocumentPresenceTracker, input: { actorUserId: string; documentId: string; clientId: string; revision: number; active: boolean; state?: unknown; ttlMs?: number; }): Promise<{ audience: DocumentRealtimeAudience; accepted: boolean; snapshot: DocumentPresenceSnapshot; presence: DocumentPresenceSnapshot[]; }>; //# sourceMappingURL=documentPresenceUpdate.d.ts.map