import { type ActiveKiroMcpProjectionOwnership, type KiroMcpProjectionOwnership } from "../config/marker.js"; import { type Action, type PlanContext, type WriteAction } from "../internals/plan.js"; import type { McpServer } from "./servers.js"; /** Kiro reads this project workspace distribution; it is not a managed enforcement surface. */ export declare const KIRO_MCP_SETTINGS_PATH = ".kiro/settings/mcp.json"; type KiroExpected = KiroMcpProjectionOwnership["expected"]; export type KiroMcpUnprovableReason = "not-a-regular-file" | "settings-absent" | "entries-drifted" | "duplicate-keys"; export interface KiroMcpProjectionResidue { path: string; ownership: ActiveKiroMcpProjectionOwnership; matches: boolean; unprovable: KiroMcpUnprovableReason | undefined; markerSource: string | undefined; settingsSource: string | undefined; } export declare function kiroMcpProjectionExpected(servers: Record): KiroExpected; /** The active receipt and no-follow on-disk state, or no provable active receipt. */ export declare function kiroMcpProjectionOnDisk(root: string): KiroMcpProjectionResidue | undefined; /** Subtract unchanged receipt-owned Kiro server names without changing marker ownership. */ export declare function kiroMcpSubtractionAction(residue: KiroMcpProjectionResidue, describe?: string): WriteAction | undefined; /** * Reconcile Kiro's workspace MCP distribution. It owns only receipt-named * `mcpServers` children and never claims managed enforcement over Kiro custom agents. */ export declare function kiroMcpProjectionActions(ctx: PlanContext, servers: Record): Action[]; /** Stable state for reports; no marker makes the projection absent. */ export declare function kiroMcpProjectionState(root: string): { state: "absent" | "clean" | "altered" | "missing" | "unsafe-path" | "revoked" | "malformed"; detail: string; }; export {};