import { type Plan } from "../internals/plan.js"; import { type McpEntry } from "../mcp/render.js"; import { ECC_MCP_CATALOG_PROVENANCE } from "../org-policy/ecc-mcp-catalog.js"; import { type EccMcpExplicitAddRecord } from "./mcp-explicit-add-receipt.js"; export interface ExplicitEccMcpRenderPlan { id: string; target: string; catalog: typeof ECC_MCP_CATALOG_PROVENANCE; config: { path: string; key: string; format: "json" | "toml"; }; rendered: McpEntry | string; renderedDigest: string; } /** * Produces one client-shaped entry from an exact policy approval and the pinned * snapshot. This is pure data: it reads no config and performs no file, network, * scan, attestation, endpoint, or tool-surface operation. */ export declare function explicitEccMcpRenderPlan(policyInput: unknown, id: string, target: string): ExplicitEccMcpRenderPlan; /** Receipt material only; no config write is implied by constructing this record. */ export declare function explicitEccMcpReceiptRecord(plan: ExplicitEccMcpRenderPlan): EccMcpExplicitAddRecord; export interface ExplicitEccMcpFilesystemOptions { /** Explicit target root. Never inferred from the checkout or cwd. */ root: string; /** Explicit HOME is required only for a global client configuration. */ home?: string; id: string; target: string; } export interface ExplicitEccMcpAddOptions extends ExplicitEccMcpFilesystemOptions { policy: unknown; } export type ExplicitEccMcpReceiptState = "clean" | "absent" | "altered" | "revoked" | "malformed" | "unsafe-path"; export interface ExplicitEccMcpReceiptStateResult { id?: string; target?: string; state: ExplicitEccMcpReceiptState; detail: string; } /** * Enumerates local receipt ownership without contacting an endpoint or launching * a client. Doctor consumes this instead of re-parsing client-specific JSON/TOML. */ export declare function readExplicitEccMcpReceiptStates(options: { root: string; home?: string; }): ExplicitEccMcpReceiptStateResult[]; /** * Plan a project-local JSON add. It does not contact an endpoint, scan, launch a * client, or apply files; callers pass its actions to the normal plan executor. */ export declare function planExplicitEccMcpAdd(options: ExplicitEccMcpAddOptions): Plan; /** * Plan a receipt-proven project-local JSON removal. Any unsafe, malformed, absent, * or drifted state is report-only and leaves configuration untouched. */ export declare function planExplicitEccMcpRemove(options: ExplicitEccMcpFilesystemOptions): Plan;