import { z } from 'zod'; export declare const spoolEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"issue_report">; id: z.ZodOptional; body: z.ZodObject<{ title: z.ZodString; summary: z.ZodString; environment: z.ZodEnum<{ sandbox: "sandbox"; production: "production"; }>; error: z.ZodOptional; http_status: z.ZodOptional; request_id: z.ZodOptional; }, z.core.$strip>>; context: z.ZodOptional; endpoint: z.ZodOptional; org_client_id: z.ZodOptional; agent: z.ZodOptional>; }, z.core.$strip>>; snippets: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"question">; id: z.ZodOptional; body: z.ZodObject<{ text: z.ZodString; snippets: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; }, z.core.$strip>], "kind">; export type SpoolEntry = z.infer; export interface SpoolFile { file: string; entry: SpoolEntry; } /** Validate + atomically drop an entry into the outbox. Returns the file path. */ export declare function writeSpoolEntry(dir: string, entry: unknown): string; /** * Read every well-formed entry, oldest first. Malformed files are quarantined * (renamed *.bad) so one corrupt drop can't wedge the loop. */ export declare function readSpoolEntries(dir: string): SpoolFile[]; export declare function removeSpoolEntry(file: string): void; export declare function spoolDepth(dir: string): number; //# sourceMappingURL=spool.d.ts.map