import type { ConnectProvider } from "@opengeni/connect"; import type { CapabilityCatalogItem, ConnectionMetadata, SocialConnection } from "../../types.js"; import type { IntegrationViewModel } from "./integration-view-model.js"; export type NativeConnectCatalog = { status: "loading" | "error"; providers: []; } | { status: "ready"; providers: ConnectProvider[]; }; export declare function nativeProviderAvailable(catalog: NativeConnectCatalog, providerId: string): boolean; /** Only these exact built-in endpoints use native provider setup prerequisites. * A similarly named catalog entry or a custom MCP server keeps its own flow. */ export declare function nativeCatalogProviderId(item: Pick): string | null; export declare function nativeSetupNotice(catalog: NativeConnectCatalog, providerId: string, retry: () => void): IntegrationViewModel["notice"]; /** The provider refuses OAuth self-registration and this deployment has no * operator-registered client for it, so Connect would fail on the first click. * Server-projected from `data/catalog/oauth-client-requirements.json`. */ export declare function operatorOAuthClientMissing(item: Pick): boolean; export type NativeConnectionFacts = { connections: ConnectionMetadata[] | null; socialConnections: SocialConnection[]; }; export declare function nativeCatalogItemNotice(item: CapabilityCatalogItem, catalog: NativeConnectCatalog, retry: () => void, facts?: NativeConnectionFacts): IntegrationViewModel["notice"]; export declare function nativeCatalogItemVisible(item: CapabilityCatalogItem, catalog: NativeConnectCatalog, facts?: NativeConnectionFacts): boolean; export declare function nativeIntegrationVisible(model: IntegrationViewModel, catalog: NativeConnectCatalog, slackBotMode: boolean): boolean; /** Guard setup separately from management: an existing account may still be * removed or repaired when starting a new provider connection is unavailable. */ export declare function nativeIntegrationModel(model: IntegrationViewModel, catalog: NativeConnectCatalog, slackBotMode: boolean, retry: () => void): IntegrationViewModel;