/** * The shapes this engine PUBLISHES — what a composing vertical returns, stores * against, and declares operations over. * * A file of their own because both `index.ts` (which implements against them) * and `operations.ts` (which declares against them) need them. With the schemas * living in `index.ts` and `index.ts` re-exporting `operations.ts`, importing * the engine ran `operations.ts` before `workOrder` was initialised — a cycle * that a warm `dist` hides and a tool importing the module finds immediately. */ import { z } from '@substrat-run/contracts'; /** Exact decimals as strings — six places, never a float. */ export declare const decimal: z.ZodString; export declare const billableLine: z.ZodObject<{ article: z.ZodString; description: z.ZodString; qty: z.ZodString; unit: z.ZodString; unitPrice: z.ZodObject<{ amount: z.core.$ZodBranded; currency: z.core.$ZodBranded; }, z.core.$strip>; lineTotal: z.ZodObject<{ amount: z.core.$ZodBranded; currency: z.core.$ZodBranded; }, z.core.$strip>; sourceType: z.ZodEnum<{ material: "material"; time: "time"; }>; sourceId: z.ZodString; }, z.core.$strip>; export type BillableLine = z.infer; export declare const workOrder: z.ZodObject<{ id: z.ZodString; number: z.ZodNumber; facility: z.ZodObject<{ entityType: z.ZodString; entityId: z.ZodString; }, z.core.$strip>; customer: z.ZodObject<{ entityType: z.ZodString; entityId: z.ZodString; }, z.core.$strip>; kind: z.ZodString; title: z.ZodString; description: z.ZodNullable; status: z.ZodEnum<{ closed: "closed"; completed: "completed"; in_progress: "in_progress"; planned: "planned"; }>; assignedTo: z.ZodNullable; createdBy: z.ZodString; createdAt: z.ZodString; completedAt: z.ZodNullable; }, z.core.$strip>; export type WorkOrder = z.infer; /** * A reported time entry, as the engine publishes it. * * A Zod schema rather than an interface because a vertical declaring an * operation that RETURNS this needs something to point at — `output` takes a * schema, and the alternative is every composer retyping the shape, which is a * description held in agreement by nothing. */ export declare const timeEntry: z.ZodObject<{ id: z.ZodString; order_id: z.ZodString; technician: z.ZodString; hours: z.ZodString; note: z.ZodNullable; reported_at: z.ZodString; }, z.core.$strip>; export type TimeEntry = z.infer; /** A reported material line, as the engine publishes it. */ export declare const materialLine: z.ZodObject<{ id: z.ZodString; order_id: z.ZodString; article: z.ZodString; qty: z.ZodString; note: z.ZodNullable; reported_by: z.ZodString; reported_at: z.ZodString; }, z.core.$strip>; export type MaterialLine = z.infer; //# sourceMappingURL=schemas.d.ts.map