import { Browser } from 'webdriverio';
import { TestDefinition, TestRunOptions, AIExecutionResult, TokenUsage, FrameworkConfig, ExecutionStats } from '../../types';
export declare class AITestExecutor {
    private llm;
    private browser;
    private costTracker;
    private smartDetector;
    private smartAgent;
    private steps;
    private screenshots;
    private tokenUsage;
    private aiContext;
    private retryCount;
    private maxRetries;
    private adaptiveStrategies;
    private useFastMode;
    private useSmartAgent;
    constructor(config?: FrameworkConfig);
    setBrowser(browser: Browser): void;
    /**
     * Track token usage from OpenAI response
     */
    private trackTokenUsage;
    /**
     * Get total token usage for this test execution
     */
    getTotalTokenUsage(): TokenUsage;
    /**
     * Track cost for a test execution
     */
    trackTestCost(testId: string, sessionId: string, executionTime: number, success: boolean): Promise<void>;
    /**
     * 🚀 ENHANCED: Execute test with maximum AI automation
     */
    executeTest(test: TestDefinition, options?: TestRunOptions): Promise<AIExecutionResult>;
    private navigateToSite;
    /**
     * 🧭 Enhanced navigation with path support
     */
    private navigateToPath;
    /**
     * 🧠 ENHANCED: Create intelligent execution plan with context awareness
     */
    private createIntelligentExecutionPlan;
    private createFallbackPlan;
    /**
     * 🚀 ENHANCED: Execute plan with intelligent adaptation
     */
    private executeIntelligentPlan;
    /**
     * 🚀 ENHANCED: Execute step with Endorphin AI-inspired smart tools
     */
    private executeIntelligentStep;
    /**
     * ⚡ FAST: Execute step using smart detector (no AI)
     */
    private executeFastStep;
    /**
     * ⚡ FAST: Perform action without AI
     */
    private performFastAction;
    /**
     * ⚡ FAST: Verify element without AI
     */
    private verifyFastElement;
    /**
     * 🎯 Generate multiple element detection strategies
     */
    private generateElementDetectionStrategies;
    /**
     * 🧠 Generate selectors from natural language description (WebdriverIO Best Practices)
     */
    private generateSelectorsFromDescription;
    /**
     * 📝 Generate text-based selectors (WebdriverIO Best Practices)
     */
    private generateTextSelectors;
    /**
     * 🧠 Generate semantic selectors based on context
     */
    private generateSemanticSelectors;
    /**
     * 👁️ Generate visual pattern selectors
     */
    private generateVisualSelectors;
    /**
     * 🚀 Execute a specific strategy
     */
    private executeStrategy;
    /**
     * 🔍 Enhanced element finding with multiple approaches
     */
    private findElementWithSelector;
    /**
     * 🔄 Alternative element finding approaches (WebdriverIO Best Practices)
     */
    private findElementWithAlternativeApproaches;
    /**
     * 🎯 Perform action on element
     */
    private performAction;
    /**
     * ✅ Verify element state
     */
    private verifyElement;
    /**
     * 🧠 Intelligent error recovery
     */
    private attemptIntelligentRecovery;
    /**
     * 🎯 Check if step is critical
     */
    private isCriticalStep;
    private takeScreenshot;
    private addStep;
    private executeRecordedSteps;
    private executeRecordedStep;
    private findElement;
    private findFormField;
    private findButton;
    private checkFieldError;
    private smartElementDetection;
    private analyzePageState;
    private shouldElementExistOnPage;
    private generateMultipleSelectors;
    private smartWaitForElement;
    private recoverBrowserContext;
    /**
     * ⚡ Enable/disable fast mode
     */
    setFastMode(enabled: boolean): void;
    /**
     * Enable or disable Smart AI Agent
     */
    setSmartAgentMode(enabled: boolean): void;
    /**
     * Get Smart AI Agent session statistics
     */
    getSmartAgentStats(): import("./SmartAIAgent").TestSession | null;
    /**
     * 📊 Get execution statistics
     */
    getExecutionStats(): Promise<ExecutionStats>;
    /**
     * 🧹 Clear smart detector cache
     */
    clearCache(): void;
    /**
     * Get the current test site URL from context
     */
    private getCurrentTestSite;
    /**
     * Convert test step to natural language task for Smart AI Agent
     */
    private convertStepToTask;
}
//# sourceMappingURL=AITestExecutor.d.ts.map