import { z } from 'zod'; export declare const StagedEntrySchema: z.ZodObject<{ name: z.ZodString; identity: z.ZodString; contentHash: z.ZodString; }, "strict", z.ZodTypeAny, { name: string; identity: string; contentHash: string; }, { name: string; identity: string; contentHash: string; }>; export type StagedEntry = z.infer; export declare const StagedManifestSchema: z.ZodObject<{ fingerprint: z.ZodString; entries: z.ZodArray, "many">; }, "strict", z.ZodTypeAny, { entries: { name: string; identity: string; contentHash: string; }[]; fingerprint: string; }, { entries: { name: string; identity: string; contentHash: string; }[]; fingerprint: string; }>; export type StagedManifest = z.infer; export interface ReconcilePlan { toStage: StagedEntry[]; toPrune: StagedEntry[]; unchanged: StagedEntry[]; } /** * Make-style reconcile. An entry is `unchanged` only when BOTH identity and * contentHash match the current manifest (spec ยง11b: content-bound, the * manifest is never trusted on its word). Everything desired-but-not-unchanged * is staged; everything current-but-not-desired is pruned. */ export declare function computeReconcilePlan(desired: StagedEntry[], current: StagedManifest | null): ReconcilePlan; //# sourceMappingURL=manifest.d.ts.map