/** * Shadow DOM crawler — enumerate shadow hosts and detect web component libraries. * * Walks the live DOM recursively (up to depth 8) to find all open shadow roots * and custom elements with closed shadow roots, then classifies the component * framework in use. Results feed ZeTa's test generator so it can account for * elements that are invisible to standard Playwright locators. */ export interface ShadowInteractiveEl { role: string; label: string; type: string; tagName: string; } export interface ShadowHostInfo { tagName: string; hostId: string; shadowMode: 'open' | 'closed'; depth: number; interactiveCount: number; interactiveElements: ShadowInteractiveEl[]; slotNames: string[]; childShadowHosts: number; } export interface ShadowDomCrawlResult { shadowHostCount: number; openShadowCount: number; closedShadowCount: number; maxNestingDepth: number; hosts: ShadowHostInfo[]; totalInteractiveInShadow: number; detectedLibraries: string[]; blindSpots: string[]; } export declare function crawlShadowDom(page: any): Promise;