import { z } from "zod"; export type GeneratorInfo = { name: string; version: string; commit?: string; }; export declare const BuildUnitSchema: z.ZodUnion; path: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"video">; path: z.ZodString; youtubeId: z.ZodString; durationSeconds: z.ZodNumber; description: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"quiz">; path: z.ZodString; questionCount: z.ZodNumber; questions: z.ZodArray>; }, z.core.$strict>], "type">>; }, z.core.$strict>>; unitTest: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; unitNumber: z.ZodNumber; title: z.ZodString; lessons: z.ZodArray; path: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"video">; path: z.ZodString; youtubeId: z.ZodString; durationSeconds: z.ZodNumber; description: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"quiz">; path: z.ZodString; questionCount: z.ZodNumber; questions: z.ZodArray>; }, z.core.$strict>], "type">>; }, z.core.$strict>>; unitTest: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>]>; export type BuildUnit = z.infer; export declare const CartridgeBuildInputSchema: z.ZodObject<{ generator: z.ZodObject<{ name: z.ZodString; version: z.ZodString; commit: z.ZodOptional; }, z.core.$strict>; course: z.ZodObject<{ title: z.ZodString; subject: z.ZodString; }, z.core.$strict>; units: z.ZodArray; path: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"video">; path: z.ZodString; youtubeId: z.ZodString; durationSeconds: z.ZodNumber; description: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"quiz">; path: z.ZodString; questionCount: z.ZodNumber; questions: z.ZodArray>; }, z.core.$strict>], "type">>; }, z.core.$strict>>; unitTest: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; unitNumber: z.ZodNumber; title: z.ZodString; lessons: z.ZodArray; path: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"video">; path: z.ZodString; youtubeId: z.ZodString; durationSeconds: z.ZodNumber; description: z.ZodString; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; title: z.ZodString; type: z.ZodLiteral<"quiz">; path: z.ZodString; questionCount: z.ZodNumber; questions: z.ZodArray>; }, z.core.$strict>], "type">>; }, z.core.$strict>>; unitTest: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>]>>; files: z.ZodRecord, Uint8Array>>; }, z.core.$strict>; export type CartridgeBuildInput = { generator: GeneratorInfo; course: { title: string; subject: string; }; units: BuildUnit[]; files: Record>; }; export type CartridgeFileMap = Record; export declare function buildCartridgeToBytes(input: CartridgeBuildInput): Promise; export declare function buildCartridgeToFile(input: CartridgeBuildInput, outFile: string): Promise; export declare function buildCartridgeFromFileMap(plan: { generator: GeneratorInfo; course: { title: string; subject: string; }; units: BuildUnit[]; files: CartridgeFileMap; }, outFile: string): Promise; //# sourceMappingURL=builder.d.ts.map