export declare const template = "import { judge, hasInterrupts, approve, reject, respondToInterrupts } from \"./{{{judgeFilename:string}}}\";\nimport { writeFileSync } from \"fs\";\n\nasync function runJudge() {\n  const actualOutput = {{{actualOutput:string}}};\n  const expectedOutput = {{{expectedOutput:string}}};\n  const judgePrompt = {{{judgePrompt:string}}};\n\n  let result = await judge(actualOutput, expectedOutput, judgePrompt);\n\n  {{#hasInterruptHandlers}}\n  const interruptHandlers = {{{interruptHandlersJSON?:string}}};\n  let handlerIndex = 0;\n\n  while (hasInterrupts(result.data)) {\n    const interrupts = result.data;\n    const responses = [];\n\n    for (const interruptItem of interrupts) {\n      if (handlerIndex >= interruptHandlers.length) {\n        throw new Error(\"Unexpected interrupt #\" + (handlerIndex + 1) + \": \\\"\" + interruptItem.message + \"\\\". No handler provided.\");\n      }\n\n      const handler = interruptHandlers[handlerIndex];\n\n      // Validate expected message if provided\n      if (handler.expectedMessage !== undefined && interruptItem.message !== handler.expectedMessage) {\n        throw new Error(\n          \"Interrupt #\" + (handlerIndex + 1) + \" message mismatch.\\n\" +\n          \"  Expected: \\\"\" + handler.expectedMessage + \"\\\"\\n\" +\n          \"  Actual: \\\"\" + interruptItem.message + \"\\\"\"\n        );\n      }\n\n      // Build response based on action\n      if (handler.action === \"approve\") {\n        responses.push(approve(handler.value));\n      } else if (handler.action === \"reject\") {\n        responses.push(reject(handler.value));\n      } else if (handler.action === \"resolve\") {\n        responses.push(approve(handler.resolvedValue));\n      } else {\n        throw new Error(\"Unknown interrupt action: \" + handler.action);\n      }\n\n      handlerIndex++;\n    }\n\n    result = await respondToInterrupts(interrupts, responses);\n  }\n\n  // Check if we provided more handlers than interrupts that occurred\n  if (handlerIndex < interruptHandlers.length) {\n    throw new Error(\n      \"Expected \" + interruptHandlers.length + \" interrupts but only \" + handlerIndex + \" occurred.\"\n    );\n  }\n  {{/hasInterruptHandlers}}\n\n  writeFileSync(\"{{{resultsFilename:string}}}\", JSON.stringify(result, null, 2));\n}\n\nrunJudge();\n";
export type TemplateType = {
    judgeFilename: string;
    actualOutput: string;
    expectedOutput: string;
    judgePrompt: string;
    hasInterruptHandlers: boolean;
    interruptHandlersJSON?: string;
    resultsFilename: string;
};
declare const render: (args: TemplateType) => string;
export default render;
