import { type MutationHint } from "./types.js"; import { type DrizzleExecutor } from "../drizzle.js"; /** * Moves one chat directly after another in the actor's personal sidebar order by minting a single fractional index in userChatPreferences. * * A move is stated as a row and the row it now follows rather than as a restated * arrangement, so two devices dragging different chats both land instead of one * overwriting the other. The first move materializes the order: every chat the * actor can currently see is stamped with a key in its existing display order, * because a fractional index is only meaningful against neighbours that have one. * That normalization is deterministic from the same list, so a client can mint * the identical keys optimistically and the dropped row does not jump when the * reconcile answers. The whole rewrite shares one sync sequence so no device * assembles a half-old sidebar. */ export declare function chatReorder(executor: DrizzleExecutor, actorUserId: string, chatId: string, afterChatId: string | undefined): Promise<{ hint: MutationHint; }>; //# sourceMappingURL=chatReorder.d.ts.map