export declare const TRACKED_SUBAGENT_NAMES: readonly ["vv-implementer", "vv-spec-reviewer", "vv-code-reviewer"]; export type TrackedAgentName = (typeof TRACKED_SUBAGENT_NAMES)[number]; export declare const ALLOWED_STATUSES: { readonly "vv-implementer": readonly ["DONE", "DONE_WITH_CONCERNS", "NEEDS_CONTEXT", "BLOCKED"]; readonly "vv-spec-reviewer": readonly ["PASS", "FAIL", "NEEDS_CONTEXT"]; readonly "vv-code-reviewer": readonly ["PASS", "FAIL", "NEEDS_CONTEXT"]; }; export type VVocStatus = "DONE" | "DONE_WITH_CONCERNS" | "NEEDS_CONTEXT" | "BLOCKED" | "PASS" | "FAIL"; export type ParsedResultBlock = { agent: TrackedAgentName; workItemId: string; status: VVocStatus; route?: string; }; export type ProtocolErrorCode = "MISSING_WORK_ITEM_ID" | "MISSING_STATUS" | "MISSING_ROUTE" | "UNKNOWN_STATUS" | "STATUS_NOT_ALLOWED" | "UNEXPECTED_TOP_BLOCK_LINE" | "DUPLICATE_TOP_BLOCK_FIELD" | "WORK_ITEM_MISMATCH" | "MALFORMED_WORK_ITEM_HEADER" | "MISSING_WORK_ITEM_HEADER"; export type ProtocolError = { code: ProtocolErrorCode; message: string; }; export type ProtocolResult = { ok: true; value: T; } | { ok: false; error: ProtocolError; }; export declare function validateStatusForAgent(agent: TrackedAgentName, status: string): ProtocolResult; export declare function parseResultBlock(options: { agent: TrackedAgentName; output: string; expectedWorkItemId?: string; }): ProtocolResult; export declare function parseWorkItemHeader(promptText: string): ProtocolResult;