import { z } from 'zod'; import type { BatchItem } from '../../services/batch/batch-progress-types.js'; /** * One item as the caller knows it. * * `files` and `riskSurface` are the measured results and are carried * forward onto the record; the risk surface is bounded by the same number * the race lane's own gate uses. */ declare const batchItemInputSchema: z.ZodObject<{ id: z.ZodString; label: z.ZodString; symptom: z.ZodString; status: z.ZodEnum<{ pending: "pending"; diagnosed: "diagnosed"; }>; files: z.ZodOptional>; riskSurface: z.ZodOptional; }, z.core.$strip>; export type BatchItemInput = z.infer; /** The parsed item list, or the reason it could not be read. */ export type ParsedItems = { readonly kind: 'ok'; readonly items: readonly BatchItemInput[]; } | { readonly kind: 'invalid'; readonly message: string; }; /** The options this command reads. */ export interface BatchDiagnoseOptions { readonly rid?: string; readonly project?: string; readonly items?: string; readonly itemsJson?: string; readonly json?: boolean; } /** * Read the caller's item list, from a file or from inline JSON. * * The two shapes are the same shape (`wave-plan` reads its slices the same * way), and a refusal here names WHICH shape was wrong rather than throwing * a parse error at the caller. */ export declare function readItems(options: BatchDiagnoseOptions): ParsedItems; /** * Whether a recorded item still carries the question it has to be asked. * * An item without a symptom cannot be diagnosed: there is nothing to * diagnose. It is named rather than dispatched with a substitute, because a * prompt whose "Reported symptom" line holds the item's LABEL would ask the * diagnostician the wrong question and report a confident answer to it. */ export declare function hasSymptom(item: BatchItem): item is BatchItem & { readonly symptom: string; }; /** The record row for one item: what the caller measured, carried forward. */ export declare function toBatchItem(input: BatchItemInput): BatchItem; export {};