export type SyncCursor = import("./sync-api-client-types.js").SyncCursor; /** * @module sync-cursor * * Shared cursor helpers for the sync change feed: building a cursor from a * serialized sync entry and ordering two cursors under the feed's stable order * (server sequence when present, else updated-at then id). The server channel * advances its per-subscription replay watermark with these across out-of-order * live broadcasts, and the realtime bridge advances the persisted scope cursor * monotonically on pushed changes. */ /** @typedef {import("./sync-api-client-types.js").SyncCursor} SyncCursor */ /** * Builds a cursor from a serialized sync entry, or null when the entry carries * no cursor identity (no updated-at). * @param {Record>} entry - Serialized sync entry. * @returns {SyncCursor} Cursor for the entry, or null. */ export declare function cursorFromSyncEntry(entry: Record>): SyncCursor; /** * Whether one cursor is strictly later than another under the change-feed order. * A sequenced cursor is always later than an unsequenced one; both sequenced * cursors order by server sequence; both unsequenced cursors order by updated-at * then id. * @param {SyncCursor} candidate - Candidate cursor. * @param {SyncCursor} current - Current cursor. * @returns {boolean} Whether the candidate is later. */ export declare function isCursorAfter(candidate: SyncCursor, current: SyncCursor): boolean; //# sourceMappingURL=sync-cursor.d.ts.map