/** Exact external IDs from the pinned ECC snapshot, excluding AIH-owned MCPs. */ export declare const ECC_EXTERNAL_MCP_APPROVAL_IDS: readonly ["nexus", "ito-compute", "jira", "firecrawl", "supabase", "ecc-memory-vault", "memory", "omega-memory", "longhand", "vercel", "railway", "cloudflare-docs", "cloudflare-workers-builds", "cloudflare-workers-bindings", "cloudflare-observability", "clickhouse", "exa-web-search", "parallel-search", "codescene", "magic", "memxus", "filesystem", "fal-ai", "browserbase", "browser-use", "devfleet", "token-optimizer", "laraplugins", "confluence", "evalview", "squish"]; export type EccExternalMcpApprovalId = (typeof ECC_EXTERNAL_MCP_APPROVAL_IDS)[number]; export interface EccMcpApprovalRecord { id: EccExternalMcpApprovalId; sourceContentSha256: string; state: "approved" | "revoked"; approvedBy: string; authenticationMode: string; allowedDataClasses: readonly string[]; } export type EccMcpApprovalResolution = { state: "approved"; approval: EccMcpApprovalRecord; } | { state: "revoked"; approval: EccMcpApprovalRecord; } | { state: "source-mismatch"; } | { state: "unapproved"; }; /** * Resolves only an administrator's declaration over the exact pinned source. * It deliberately returns no launcher, configuration, projection, scan, or * endpoint/tool-surface fact; a future explicit Add flow must do that separately. */ export declare function resolveEccMcpApproval(approvals: readonly unknown[], id: string): EccMcpApprovalResolution;