/**
 * OAuth Broker Registry
 *
 * Catalog of MCP servers with pre-registered OAuth apps on the
 * `auth.studiograph.com` broker. Two responsibilities, both driven by
 * the same array below:
 *
 *   1. RUNTIME — when a user-imported connector's URL matches one of
 *      these hostnames, OAuth gets routed through the broker (which
 *      holds the client secret) instead of expecting per-instance
 *      credentials. See `getBrokerConnectUrl`.
 *   2. CATALOG — Settings → External Connectors lists these as
 *      "available to one-click add" tiles so an owner doesn't have to
 *      know the canonical URL or paste JSON. See
 *      `listAvailableBrokerConnectors`.
 *
 * Adding a new entry is a deliberate decision, not a default workflow.
 * See docs/agents/agent-system.md § "Broker strategy" for when to do it and the costs
 * involved (provider relationship, rate-limit exposure, single point
 * of compromise).
 */
declare const BROKER_URL = "https://auth.studiograph.com";
export interface BrokerConnector {
    /** Hostname extracted from connector URLs for runtime routing. */
    hostname: string;
    /** Slug used in the broker's `/connect/:name` and `/callback/:name`. */
    name: string;
    /** User-facing display label for the catalog tile. */
    displayName: string;
    /**
     * Canonical MCP server URL the catalog tile imports when an owner
     * clicks "Add". Verified periodically — providers move endpoints
     * occasionally and a stale value here surfaces as an import failure.
     */
    serverUrl: string;
    /**
     * If true, the catalog suppresses the tile even though the runtime
     * still routes OAuth through the broker should someone manually
     * configure it. Use for entries where the OAuth app is registered
     * but the upstream MCP server isn't generally available yet.
     */
    catalogHidden?: boolean;
}
export declare const BROKER_CONNECTORS: readonly BrokerConnector[];
/**
 * Check if a connector URL has broker support.
 * Returns the broker connect URL, or undefined if not supported.
 */
export declare function getBrokerConnectUrl(connectorUrl: string, state: string): string | undefined;
/**
 * Check if a connector URL is supported by the broker.
 */
export declare function hasBrokerSupport(connectorUrl: string): boolean;
/**
 * Catalog entries owners can one-click add. Drops `catalogHidden`
 * connectors and anything callers have already configured (the names
 * passed in are case-normalized — connector names are url-safe slugs
 * but the import form may capitalize the display label).
 */
export declare function listAvailableBrokerConnectors(configuredNames?: ReadonlySet<string>): Array<Pick<BrokerConnector, 'name' | 'displayName' | 'serverUrl'>>;
/** Broker base URL for claim retrieval. */
export { BROKER_URL };
