UNPKG

magnitude-core

Version:
59 lines (58 loc) 1.53 kB
import EventEmitter from "eventemitter3"; import { BrowserContext, Page } from "playwright"; export interface TabEvents { 'tabChanged': (page: Page) => void; } export interface TabState { activeTab: number; tabs: { title: string; url: string; }[]; } export interface TabManagerOptions { switchOnActivity?: boolean; } export declare class TabManager { private context; private activePage; private options; private pollInterval?; readonly events: EventEmitter<TabEvents>; constructor(context: BrowserContext, options?: TabManagerOptions); initialize(): Promise<void>; private initializeExistingPages; private onPageCreated; private setupPageTracking; private startActivityPolling; setActivePage(page: Page): void; switchTab(index: number): Promise<void>; getActivePage(): Page; getPages(): Page[]; retrieveState(): Promise<TabState>; debugVisibilityStates(): Promise<({ hasFocus: boolean; hidden: boolean; visibilityState: DocumentVisibilityState; index: number; url: string; error?: undefined; } | { index: number; url: string; error: boolean; })[]>; debugFocusStates(): Promise<({ hasFocus: boolean; isVisible: boolean; isHidden: boolean; url: string; index: number; error?: undefined; } | { index: number; url: string; error: boolean; })[]>; destroy(): void; }