import { type DrizzleExecutor } from "../../drizzle.js"; /** * Builds the shared predicate for chats that belong in one user's sidebar list. * Active membership is the only rule: the sidebar shows the conversations a * person is actually in, never one they merely could join, so there is no * read-only row to grey out. Discovering an unjoined channel is the directory's * job, and leaving removes the row outright. * * The caller must have left-joined `chatMembers` restricted to that user's * active membership, which is the join this predicate reads. */ export declare function chatListCondition(): import("drizzle-orm").SQL | undefined; /** Reports whether a chat's current durable state places it in one user's sidebar list. */ export declare function chatAppearsInListDb(executor: DrizzleExecutor, userId: string, chatId: string): Promise; //# sourceMappingURL=chatListVisibility.d.ts.map