/**
 * AI Integration Tests
 *
 * Tests the currently configured AI provider with real API calls:
 * - Basic completion
 * - Streaming
 * - Tool calling
 * - Token estimation accuracy
 * - Error handling
 */
import { EventEmitter } from 'events';
import { CodeBuddyClient } from '../codebuddy/client.js';
export interface AITestResult {
    name: string;
    passed: boolean;
    duration: number;
    details?: string;
    error?: string;
    tokensUsed?: number;
    cost?: number;
}
export interface AITestSuite {
    provider: string;
    model: string;
    timestamp: number;
    duration: number;
    results: AITestResult[];
    summary: {
        total: number;
        passed: number;
        failed: number;
        skipped: number;
        totalTokens: number;
        totalCost: number;
    };
}
export interface AITestOptions {
    timeout?: number;
    verbose?: boolean;
    skipExpensive?: boolean;
    testTools?: boolean;
    testStreaming?: boolean;
}
export declare class AITestRunner extends EventEmitter {
    private client;
    private options;
    constructor(client: CodeBuddyClient, options?: AITestOptions);
    /**
     * Helper to extract content from CodeBuddyResponse
     */
    private getContent;
    /**
     * Helper to extract tool calls from CodeBuddyResponse
     */
    private getToolCalls;
    /**
     * Run all AI integration tests
     */
    runAll(): Promise<AITestSuite>;
    /**
     * Run test with timeout
     */
    private runWithTimeout;
    /**
     * Test 1: Basic Completion
     */
    private testBasicCompletion;
    /**
     * Test 2: Simple Math
     */
    private testSimpleMath;
    /**
     * Test 3: JSON Output
     */
    private testJSONOutput;
    /**
     * Test 4: Code Generation
     */
    private testCodeGeneration;
    /**
     * Test 5: Context Understanding
     */
    private testContextUnderstanding;
    /**
     * Test 6: Streaming Response
     */
    private testStreaming;
    /**
     * Test 7: Tool Calling
     */
    private testToolCalling;
    /**
     * Test 8: Error Handling
     */
    private testErrorHandling;
    /**
     * Test 9: Long Context (expensive)
     */
    private testLongContext;
    /**
     * Pad string to target width accounting for emoji visual width
     */
    private static padEnd;
    /**
     * Pad string to target width on the left (right-align)
     */
    private static padStart;
    /**
     * Format test results for display
     */
    static formatResults(suite: AITestSuite): string;
}
export declare function createAITestRunner(client: CodeBuddyClient, options?: AITestOptions): AITestRunner;
