/**
 * Browser Test Runner
 *
 * Executes test missions using Playwright + AI-powered navigation.
 * The AI agent autonomously navigates the UI, makes decisions, and validates outcomes.
 */
import { TestMission, TestExecutionResult, BrowserConfig, InteractiveTestSession } from "../types/flow-testing";
export declare class BrowserTestRunner {
    private projectPath;
    private browser?;
    private context?;
    private aiClient;
    private contextService;
    private screenshotsDir;
    constructor(projectPath: string);
    /**
     * Initialize AI client from project config
     */
    private initializeAIClient;
    /**
     * Run a test mission
     */
    runTest(mission: TestMission, config?: BrowserConfig): Promise<TestExecutionResult>;
    /**
     * Execute mission using AI
     */
    private executeWithAI;
    /**
     * Ask AI for next action
     */
    private askAI;
    /**
     * Infer what value to use for a field based on test data
     */
    private inferFieldValue;
    /**
     * Execute an action on the page
     */
    private executeAction;
    /**
     * Convert jQuery-style or ambiguous selectors to Playwright-compatible selectors
     */
    private convertToPlaywrightSelector;
    /**
     * Try to find form inputs using intelligent strategies
     */
    private tryFormInputStrategies;
    /**
     * Find element using multiple strategies
     */
    private findElement;
    /**
     * Validate mission completion
     */
    private validateMission;
    /**
     * Get simplified DOM for AI analysis
     */
    private getSimplifiedDOM;
    /**
     * Get page content formatted for AI
     */
    private getPageContentForAI;
    /**
     * Generate AI notes about the test execution
     */
    private generateAINotes;
    /**
     * Take screenshot
     */
    private takeScreenshot;
    /**
     * Launch browser
     */
    private launchBrowser;
    /**
     * Close browser
     */
    private closeBrowser;
    /**
     * Start interactive recording mode
     */
    startRecording(name: string, startUrl: string): Promise<InteractiveTestSession>;
    /**
     * Start watch mode
     */
    startWatchMode(missions: string[], watchPaths: string[]): Promise<void>;
}
//# sourceMappingURL=browser-test-runner.d.ts.map