/**
 * @fileoverview Builds the SEP-1649 MCP Server Card served at
 * `/.well-known/mcp.json`. Machine-readable discovery document so clients
 * can learn a server's capabilities, endpoints, and auth requirements
 * before initiating a full `initialize` handshake.
 *
 * Sibling of the `/mcp` status JSON (bespoke, back-compat) and `/` landing page
 * (human HTML) — all three are pure functions of the same `ServerManifest`.
 *
 * @see https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649
 * @module src/mcp-server/transports/http/serverCard
 */
import type { Context } from 'hono';
import type { ServerManifest } from '../../../core/serverManifest.js';
/** Shape of the SEP-1649 Server Card document. */
export interface ServerCard {
    /** JSON Schema identifier — hint to validators. */
    $schema?: string;
    authentication: ServerCardAuth;
    capabilities: {
        tools: boolean;
        resources: boolean;
        prompts: boolean;
        logging: boolean;
    };
    /** Human-facing documentation URL (e.g. GitHub README or project homepage). */
    documentation?: string;
    endpoints: {
        /** Streamable HTTP endpoint URL. */
        streamable_http?: string;
    };
    /** SEP-2133 extensions advertised in server capabilities. */
    extensions?: Record<string, object>;
    /** Timestamp this card was built (ISO 8601). */
    generated_at: string;
    mcp_version: string;
    server_description?: string;
    server_name: string;
    server_version: string;
}
export type ServerCardAuth = {
    required: false;
    type: 'none';
} | {
    required: true;
    type: 'jwt';
    resource_identifier?: string;
} | {
    required: true;
    type: 'oauth';
    authorization_servers?: string[];
    audience?: string;
    resource_identifier?: string;
    jwks_uri?: string;
};
/**
 * Build the SEP-1649 Server Card from the manifest + request origin.
 * Pure — same inputs produce the same output.
 */
export declare function buildServerCard(manifest: ServerManifest, origin: string): ServerCard;
/**
 * Hono route handler for `GET /.well-known/mcp.json`.
 * Sets SEP-1649-recommended headers: `Content-Type`, `X-Content-Type-Options`,
 * `Cache-Control`, CORS.
 */
export declare function createServerCardHandler(manifest: ServerManifest): (c: Context) => Response;
//# sourceMappingURL=serverCard.d.ts.map