import { type NativeEccRegistration } from "./native-registration.js"; import { type EccProjection } from "./render.js"; export type EccParityTransport = "native" | "normalized" | "unavailable"; export interface EccParityMapping { id: string; sourcePath: string; destination: string; owner: "upstream" | "aih-adaptation"; transport: EccParityTransport; unavailableReason?: string; fallback?: string; } export interface EccProfileParityReceipt { receiptVersion: 1; source: { repository: string; commit: string; reviewReceiptSha256: string; sourceClosureId: string; sourceClosureSha256: string; projectionSha256: string; }; clients: Record<"claude" | "codex", { client: "claude" | "codex"; skills: EccParityMapping[]; roles: EccParityMapping[]; workflows: EccParityMapping[]; }>; native: { hooks: Record<"claude" | "codex", string[]>; mcp: { selected: string[]; disabled: string[]; }; policySha256: string; registrationFiles: Array<{ destination: string; ownership: "json-array-children" | "json-object-children" | "toml-block"; policySha256: string; }>; }; } export declare function buildEccProfileParityReceipt(projection: EccProjection, registration: NativeEccRegistration): EccProfileParityReceipt; export declare function serializeEccProfileParityReceipt(receipt: EccProfileParityReceipt): string; export declare function eccProfileParityReceiptDigest(receipt: EccProfileParityReceipt): string;