// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { ApiAuthKind } from "./ApiAuthKind";
import type { ApiConfigKey } from "./ApiConfigKey";
import type { ApiEndpoint } from "./ApiEndpoint";

/**
 * REST API capability for a plugin.
 *
 * Stored on `McpServer` to let a plugin expose an HTTP API alongside (or
 * instead of) an MCP transport. The value is serialized into the
 * `mcp_servers.api_spec_json` column (migration 035) and reused by the
 * prompt-injection path that emits `=== AVAILABLE APIs ===` blocks.
 */
export type ApiSpec = { base_url: string, auth: ApiAuthKind, 
/**
 * Short list of the most useful endpoints. Not exhaustive — the UI
 * surfaces `docs_url` for the full reference. Agents may call
 * undocumented endpoints if they know the path; this list is
 * primarily a hint + curl example.
 */
endpoints: Array<ApiEndpoint>, 
/**
 * URL of the vendor's API reference documentation.
 */
docs_url?: string | null, 
/**
 * Additional config keys the user must provide on top of the credential
 * (e.g. Chartbeat's `host=example.com`). Stored alongside the secret
 * in the config's encrypted env, surfaced in the prompt injection so
 * the agent has the exact curl arguments to use.
 */
config_keys?: Array<ApiConfigKey>, };
