/**
 * Judge executor for evaluating AI-generated applications.
 *
 * Orchestrates the evaluation process using LLM with browser
 * automation capabilities through Playwright MCP.
 */
import type { JudgeEvaluation, EvaluationCriteria, JudgeConfig } from "./types.js";
import type { Logger } from "../../util/logger.js";
import type { LLMClient } from "../llm/client.js";
import type { LanguageModelV2 } from "@ai-sdk/provider";
/**
 * Executes judge evaluations for AI-generated applications.
 *
 * Uses LLM with Playwright browser automation to comprehensively
 * evaluate applications against defined criteria.
 */
export declare class JudgeExecutor {
    private llmClient;
    private model;
    private logger;
    private playwrightBridge;
    private config;
    constructor(llmClient: LLMClient, model: LanguageModelV2, logger: Logger, config: Partial<JudgeConfig>);
    /**
     * Initializes the judge executor.
     *
     * Sets up connections to required services.
     */
    initialize(): Promise<void>;
    /**
     * Evaluates a simulation result against criteria.
     *
     * @param simulationResult - The simulation to evaluate
     * @param criteria - Evaluation criteria
     * @param appUrl - URL of the application to evaluate
     * @returns Comprehensive evaluation result
     */
    evaluateSimulation(simulationResult: {
        promptId: string;
        success: boolean;
        stepResults: Array<{
            prompt: string;
        }>;
        tokens: {
            input: number;
            output: number;
            total: number;
        };
        duration: number;
    }, criteria: EvaluationCriteria, appUrl: string): Promise<JudgeEvaluation>;
    /**
     * Builds the user prompt for judge evaluation.
     *
     * @param simulationResult - Simulation to evaluate
     * @param criteria - Evaluation criteria
     * @param appUrl - Application URL
     * @returns Formatted user prompt
     */
    private buildUserPrompt;
    /**
     * Cleans up resources.
     */
    cleanup(): Promise<void>;
}
//# sourceMappingURL=judge-executor.d.ts.map