/** * Element stability detection. * Checks if an element's position and size are stable across animation frames. * Based on Playwright's stability checking implementation. */ export interface StabilityOptions { /** Number of RAF frames to check stability across. Default: 2 */ frameCount?: number; /** Timeout in milliseconds. Default: 5000 */ timeout?: number; } export interface StabilityResult { stable: boolean; reason?: 'disconnected' | 'moving' | 'resizing' | 'timeout'; } /** * Check if element position/size is stable across animation frames. * Uses requestAnimationFrame to compare bounding rects. * * @param element The element to check stability for * @param options Stability check options * @returns Promise resolving to stability result */ export declare function checkElementStability(element: Element, options?: StabilityOptions): Promise; /** * Wait for element to become stable or timeout. * This is an alias for checkElementStability for API consistency. * * @param element The element to wait for stability * @param options Stability check options * @returns Promise resolving to stability result */ export declare function waitForElementStable(element: Element, options?: StabilityOptions): Promise; /** * Check if an element is currently stable (synchronous snapshot check). * This only checks the current state and cannot detect movement. * For true stability detection, use checkElementStability. * * @param element The element to check * @returns Whether the element is connected and has valid dimensions */ export declare function isElementStableSync(element: Element): boolean; //# sourceMappingURL=stability.d.ts.map