import type { FirstPartyMcpToolName } from "@opengeni/contracts"; export type SessionCapabilityGroup = { id: string; name: string; description: string; kind: "opengeni" | "connected_app"; toolIds: FirstPartyMcpToolName[]; }; export type BuiltInMcpCapability = { id: "files" | "docs"; name: string; description: string; }; /** MCP transports that are native Opengeni capabilities, not connected apps. */ export declare function builtInMcpCapability(server: Readonly<{ id: string; }>): BuiltInMcpCapability | null; /** * Convert the exact first-party catalog into a small, truthful product model. * Every visible tool remains represented. Unknown future tools fall into one * final Opengeni group instead of silently disappearing from the picker. */ export declare function sessionCapabilityGroupsFor(tools: ReadonlyArray<{ id: FirstPartyMcpToolName; }>): SessionCapabilityGroup[]; export declare function capabilityGroupSelection(group: Pick, selected: ReadonlySet): "all" | "some" | "none";