/** * Framework Wait Handler * * P1 - Framework-aware waiting for SPA applications * * Supports: * - React hydration waiting * - React Suspense lazy loading * - Vue nextTick / reactive updates * - Angular zone.js stability * - Svelte tick waiting * - SolidJS fine-grained reactivity * * @see https://playwright.dev/docs/pom */ export interface FrameworkWaitConfig { /** Timeout in milliseconds */ timeout?: number; /** Poll interval in milliseconds */ interval?: number; } export interface FrameworkDetectionResult { /** Framework name */ framework: 'react' | 'vue' | 'angular' | 'svelte' | 'solid' | 'unknown' | null; /** Framework version (if detectable) */ version?: string; /** Confidence score (0-1) */ confidence: number; } export interface FrameworkWaitResult { success: boolean; duration?: number; framework?: string; error?: string; } /** * Framework Wait Handler class */ export declare class FrameworkWaitHandler { private defaultTimeout; private defaultInterval; constructor(config?: FrameworkWaitConfig); /** * Detect which framework is running on the page */ detectFramework(page: any): Promise; /** * Wait for React hydration to complete */ waitForReactHydration(page: any, config?: FrameworkWaitConfig): Promise; /** * Wait for React Suspense lazy components to load */ waitForReactSuspense(page: any, config?: FrameworkWaitConfig): Promise; /** * Wait for Vue nextTick and reactive updates to flush */ waitForVueStable(page: any, config?: FrameworkWaitConfig): Promise; /** * Wait for Angular zone.js to stabilize */ waitForAngularStable(page: any, config?: FrameworkWaitConfig): Promise; /** * Wait for Svelte tick to complete */ waitForSvelteStable(page: any, config?: FrameworkWaitConfig): Promise; /** * Wait for SolidJS reactive updates to complete */ waitForSolidStable(page: any, config?: FrameworkWaitConfig): Promise; /** * Auto-detect framework and wait for it to be stable */ waitForFramework(page: any, config?: FrameworkWaitConfig): Promise; /** * Wait for all frameworks to be stable (for micro-frontends) */ waitForAllFrameworks(page: any, config?: FrameworkWaitConfig): Promise; /** * Get framework info from the page */ getFrameworkInfo(page: any): Promise<{ framework: string | null; version?: string; confidence: number; }>; } /** * Factory function to create Framework Wait Handler */ export declare function createFrameworkWaitHandler(config?: FrameworkWaitConfig): FrameworkWaitHandler; /** * Auto-detect and wait for framework stability (convenience function) */ export declare function waitForFramework(page: any, config?: FrameworkWaitConfig): Promise; export default FrameworkWaitHandler;