import type { Session, UpdateSessionToolPolicyRequest } from "@opengeni/sdk"; import type { CapabilityCatalogItem, ConnectionMetadata } from "../types.js"; import type { McpServerOption } from "./session-tools.js"; /** Catalog identity, never a display-name match, joins selection to connection health. */ export declare function composerConnectorOptions(servers: readonly McpServerOption[], items: readonly CapabilityCatalogItem[], connections: ConnectionMetadata[] | null, assetUrl: (path: string | null) => string | null): McpServerOption[]; /** Only actual toggle changes alter exclusions; unavailable connections retain their choice. */ export declare function changedConnectorExclusions(previous: Iterable, before: ReadonlySet, after: ReadonlySet): string[]; /** Reproject live defaults without turning a reconnect into a new user selection. */ export declare function defaultConnectorSelection(defaultIds: Iterable, excludedIds: Iterable): Set; /** A newly enabled connector outside defaults is an explicit session override. */ export declare function addsConnectorOutsideDefaults(before: ReadonlySet, after: ReadonlySet, defaultIds: Iterable): boolean; /** Connector switches change only connectors, preserving hidden refs and builtin choices. */ export declare function connectorSelectionUpdate(session: Pick, before: ReadonlySet, after: ReadonlySet, workspaceDefaultIds: Iterable): UpdateSessionToolPolicyRequest; export declare function sessionConnectorPolicyIsCustomized(session: Pick): boolean; export declare function followWorkspaceConnectorPolicy(session: Pick): UpdateSessionToolPolicyRequest; export declare function newSessionConnectorCustomizeState(input: { toolsProvided: boolean; tools: ReadonlyArray<{ id: string; }>; excludedMcpServerIds?: readonly string[] | null | undefined; }): { customizing: boolean; explicit: boolean; };