/**
 * @fileoverview Component Testing Utilities
 */
import type { GeneratedCode, Props } from '../types/index.js';
/**
 * Utilities for testing OrdoJS components
 */
export declare class ComponentTestUtils {
    private componentInstances;
    /**
     * Create a component instance from generated code
     */
    createComponentInstance(generatedCode: GeneratedCode, props?: Props, initialState?: Record<string, any>): Promise<any>;
    /**
     * Create execution context for generated code
     */
    private createExecutionContext;
    /**
     * Execute generated code in a safe context
     */
    private executeGeneratedCode;
    /**
     * Add testing utilities to component instance
     */
    private addTestingUtilities;
    /**
     * Render component to HTML string
     */
    renderComponent(instance: any, props?: Props): Promise<string>;
    /**
     * Mount component to DOM element
     */
    mountComponent(instance: any, target: Element, props?: Props): Promise<void>;
    /**
     * Unmount component from DOM
     */
    unmountComponent(instance: any): Promise<void>;
    /**
     * Generate unique instance ID
     */
    private generateInstanceId;
    /**
     * Get component instance by ID
     */
    getComponentInstance(instanceId: string): any;
    /**
     * Get all component instances
     */
    getAllComponentInstances(): any[];
    /**
     * Cleanup all component instances
     */
    cleanupAllInstances(): void;
    /**
     * Wait for component to be ready
     */
    waitForComponent(instance: any, timeout?: number): Promise<void>;
    /**
     * Wait for DOM updates to complete
     */
    waitForDOMUpdates(timeout?: number): Promise<void>;
    /**
     * Create a test component with minimal setup
     */
    createTestComponent(name: string, template: string, state?: Record<string, any>): any;
}
//# sourceMappingURL=component-utils.d.ts.map