import { z } from 'zod';
export declare const WorkspaceManifestEntryKindSchema: z.ZodEnum<{
    file: "file";
    symlink: "symlink";
    directory: "directory";
}>;
export type WorkspaceManifestEntryKind = z.infer<typeof WorkspaceManifestEntryKindSchema>;
export declare const WorkspaceManifestEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    relativePath: z.ZodString;
    kind: z.ZodLiteral<"directory">;
}, z.core.$strict>, z.ZodObject<{
    relativePath: z.ZodString;
    kind: z.ZodLiteral<"file">;
    digest: z.ZodString;
    sizeBytes: z.ZodNumber;
    executable: z.ZodBoolean;
}, z.core.$strict>, z.ZodObject<{
    relativePath: z.ZodString;
    kind: z.ZodLiteral<"symlink">;
    target: z.ZodString;
}, z.core.$strict>], "kind">;
export type WorkspaceManifestEntry = z.infer<typeof WorkspaceManifestEntrySchema>;
export declare const WorkspaceManifestFingerprintSchema: z.ZodString;
export type WorkspaceManifestFingerprint = z.infer<typeof WorkspaceManifestFingerprintSchema>;
export declare const WorkspaceManifestSchema: z.ZodObject<{
    entries: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        relativePath: z.ZodString;
        kind: z.ZodLiteral<"directory">;
    }, z.core.$strict>, z.ZodObject<{
        relativePath: z.ZodString;
        kind: z.ZodLiteral<"file">;
        digest: z.ZodString;
        sizeBytes: z.ZodNumber;
        executable: z.ZodBoolean;
    }, z.core.$strict>, z.ZodObject<{
        relativePath: z.ZodString;
        kind: z.ZodLiteral<"symlink">;
        target: z.ZodString;
    }, z.core.$strict>], "kind">>;
    fingerprint: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
export type WorkspaceManifest = z.infer<typeof WorkspaceManifestSchema>;
//# sourceMappingURL=manifestSchema.d.ts.map