import { CollabConnectionConfig } from './types'; /** * Headless hydrate: pulls the OLD session's durable log and decrypts it with `roomKey`. * The old session still exists server-side — termination only rejects writes, so a * joinOnly read succeeds even after cutover. Mirrors the connect-time hydration pull * (SyncManager.catchUpFloor / decodeInto), minus the Y.Doc/floor bookkeeping. Throws on * connect/auth/pull failure; an individual undecryptable row is skipped, not fatal. */ export declare function fetchSessionState(args: { ddocId: string; roomKey: string; ownerAuth: CollabConnectionConfig; }): Promise; /** * Headless seed: pushes `state` into a brand-new session as a single owner snapshot, * encrypted under `newRoomKey`. `floorSeq: 0` — the target session is freshly created by * the rotate op and holds no rows yet, so there is nothing to catch up before stamping. * * Caller ordering: must run AFTER the rotate op has already created the target session. * This function's own owner `/auth` is create-or-join — calling it first would create the * target session itself and, as an owner /auth, sweep (terminate) any other non-terminated * session for this document, which is the OLD session that's supposed to keep draining * stragglers during the rotation window. Seeding early collapses that drain early. */ export declare function seedSession(args: { ddocId: string; newRoomKey: string; state: Uint8Array; ownerAuth: CollabConnectionConfig; }): Promise;