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; /** * ๐Ÿš€ ENHANCED: Execute test with maximum AI automation */ executeTest(test: TestDefinition, options?: TestRunOptions): Promise; 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; /** * ๐Ÿงน 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