import { z } from "zod"; import { type Plan } from "../internals/plan.js"; import { type EccProjection } from "./render.js"; export declare const ECC_PROFILE_MANAGED_SCOPE = "ecc-profile"; export declare const ECC_PROFILE_OWNERSHIP_PATH = ".aih/ecc-profile/ownership-v1.json"; declare const ownershipSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<1>; state: z.ZodLiteral<"active">; canonicalRoot: z.ZodString; source: z.ZodObject<{ repository: z.ZodLiteral<"affaan-m/ECC">; commit: z.ZodString; sourceClosureId: z.ZodString; sourceClosureSha256: z.ZodString; projectionSha256: z.ZodString; }, z.core.$strict>; files: z.ZodArray; normalizedHash: z.ZodString; installedHash: z.ZodString; managedBlockHash: z.ZodNullable; previousHash: z.ZodNullable; owner: z.ZodLiteral<"aih">; capabilityOwner: z.ZodEnum<{ "aih-adaptation": "aih-adaptation"; upstream: "upstream"; }>; mergeStrategy: z.ZodEnum<{ replace: "replace"; "toml-merge": "toml-merge"; }>; mode: z.ZodEnum<{ 100644: "100644"; 100755: "100755"; }>; content: z.ZodString; }, z.core.$strict>>; rollback: z.ZodOptional; commit: z.ZodString; sourceClosureId: z.ZodString; sourceClosureSha256: z.ZodString; projectionSha256: z.ZodString; }, z.core.$strict>; files: z.ZodArray; normalizedHash: z.ZodString; installedHash: z.ZodString; managedBlockHash: z.ZodNullable; previousHash: z.ZodNullable; owner: z.ZodLiteral<"aih">; capabilityOwner: z.ZodEnum<{ "aih-adaptation": "aih-adaptation"; upstream: "upstream"; }>; mergeStrategy: z.ZodEnum<{ replace: "replace"; "toml-merge": "toml-merge"; }>; mode: z.ZodEnum<{ 100644: "100644"; 100755: "100755"; }>; content: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>; export type EccProfileOwnership = z.infer; export type EccProfileInstalledSourceTrust = EccProfileOwnership["source"]; export type EccProfileLifecycleOperation = "install" | "update" | "repair" | "uninstall" | "rollback"; export type EccProfileInstalledLifecycleOperation = Extract; export declare function readEccProfileOwnership(root: string): EccProfileOwnership | undefined; export declare function planEccProfileLifecycle(root: string, projection: EccProjection, operation: EccProfileLifecycleOperation): Plan; /** Recover or remove the exact installed projection authenticated by its bounded ownership receipt. */ export declare function planInstalledEccProfileLifecycle(root: string, operation: EccProfileInstalledLifecycleOperation, trustedSources: readonly EccProfileInstalledSourceTrust[]): Plan; export {};