/** True iff every expected bot id appears in the row's memberBots with
 *  inChat:true. Used by refreshUntilSeen to defer committing a canonical
 *  snapshot until all invited bots have caught up Lark-side. Exported so
 *  tests can exercise the predicate without spinning up jsdom. */
export declare function allExpectedInChat(row: any, expectedBotIds: Set<string>): boolean;
/** Render the bot-picker checkboxes shared by "Create new group" and
 *  "Add bots". Always iterates `bots` in its given order (the aggregator
 *  hands cache.bots back sorted by botIndex), so both modals show the
 *  same order. `excludeIds` removes bots that are already in the chat
 *  for the Add-bots flow. Exported for tests. */
export declare function renderBotCheckboxes(bots: Array<{
    larkAppId: string;
    botName?: string;
}>, excludeIds?: Set<string>): string;
export declare function renderGroupsPage(root: HTMLElement): Promise<void>;
//# sourceMappingURL=groups.d.ts.map