/**
 * Vision Element Finder Service
 *
 * Combines vision AI with DOM understanding to identify and interact with UI elements.
 * This is the revolutionary approach: instead of brittle CSS selectors,
 * we "see" the page and find elements like a human would.
 */
import { Page } from "playwright";
import { VisualElement, VisionAnalysisResult, VisionActionDecision } from "../types/vision-testing";
export declare class VisionElementFinder {
    private aiCore;
    private screenshotsDir;
    private confidenceThreshold;
    constructor(projectPath: string, confidenceThreshold?: number);
    /**
     * Analyze the current page using vision
     */
    analyzePage(page: Page): Promise<VisionAnalysisResult>;
    private getDomOnlySummary;
    private decideNextActionDomOnly;
    private parseJsonFromModel;
    /**
     * Find an element by natural language description
     */
    findElement(page: Page, description: string, fallbackSelector?: string): Promise<VisualElement | null>;
    /**
     * Find all interactive elements on the page
     */
    findAllInteractiveElements(page: Page): Promise<VisualElement[]>;
    /**
     * Decide next action based on current page state
     */
    decideNextAction(page: Page, mission: string, previousSteps: string[], primeObjective: string, testData?: any): Promise<VisionActionDecision>;
    /**
     * Click an element using visual coordinates or selector
     */
    clickElement(page: Page, element: VisualElement): Promise<boolean>;
    /**
     * Fill an input element using visual coordinates or selector
     */
    fillElement(page: Page, element: VisualElement, value: string): Promise<boolean>;
    /**
     * Reads the actual DOM value of an element to verify a fill action
     */
    verifyElementValue(page: Page, element: VisualElement): Promise<string>;
    /**
     * Take screenshot of current page
     */
    private takeScreenshot;
    /**
     * Get DOM context for hybrid approach
     */
    private getDOMContext;
    /**
     * Identifies if the current URL has a registered form manifest for synchronization
     */
    private getFormManifestForUrl;
    /**
     * Build comprehensive analysis prompt
     */
    private buildAnalysisPrompt;
    /**
     * Analyze screenshot with custom prompt using AICore fallback
     */
    private analyzeScreenshotWithPrompt;
    /**
     * Ask vision AI with a custom prompt via AICore (with fallback)
     */
    private askVisionAI;
    /**
     * Fallback: Find element by DOM selector
     */
    private findByDOMSelector;
}
//# sourceMappingURL=vision-element-finder.d.ts.map