import { type ChatSummary, type MessageSummary } from "../chat/types.js"; import { type DrizzleExecutor } from "../drizzle.js"; /** * Reconciles one accessible chat from a membership epoch and points cursor, including affected message projections. * Reset, retention, slicing, and future-cursor decisions live here so clients advance chat state without skipping durable updates. */ export declare function chatSyncGetDifference(executor: DrizzleExecutor, input: { userId: string; chatId: string; membershipEpoch: string; fromPts: number; untilPts?: number; limit: number; }): Promise<{ kind: "empty" | "difference" | "slice" | "reset" | "tooLong"; updates: Array<{ pts: string; ptsCount: 1; kind: string; entityId?: string; }>; messages: MessageSummary[]; chat: ChatSummary; state: { membershipEpoch: string; pts: string; }; targetState: { membershipEpoch: string; pts: string; }; }>; //# sourceMappingURL=chatSyncGetDifference.d.ts.map