import { WebDriver } from 'selenium-webdriver'; import { WebDriverExecutor } from '.'; import { StoreWindowHandleHookInput, WindowAppearedHookInput, WindowSwitchedHookInput } from './types'; export interface RecorderSyncronizerInput { sessionId: string; executeAsyncScript: WebDriverExecutor['doExecuteAsyncScript']; switchToWindow: (handle: string) => Promise; getWindowHandle: WebDriver['getWindowHandle']; logger: Console; } export interface WindowFnInput { windowHandle: string; windowHandleName: string; } export default function createRecorderSyncronizer({ sessionId, executeAsyncScript, switchToWindow, getWindowHandle, logger, }: RecorderSyncronizerInput): { hooks: { onStoreWindowHandle: ({ windowHandle, windowHandleName, }: StoreWindowHandleHookInput) => Promise; onWindowAppeared: ({ windowHandle, windowHandleName, }: WindowAppearedHookInput) => Promise; onWindowSwitched: ({ windowHandle }: WindowSwitchedHookInput) => Promise; }; syncAllPendingWindows: () => Promise; }; //# sourceMappingURL=recording-syncronizer.d.ts.map