import { Callstack } from "./callstack"; import { BrowserConfig } from "../../config/browser-config"; import type { Test, TestStep } from "../../types"; import type { ProfilerRuntimeLike } from "../../profiler/runtime/types"; export interface PromiseRef { current: Promise; } export declare const shouldPropagateFn: (parentNode: TestStep, currentNode: TestStep) => boolean; interface HooksData { session: WebdriverIO.Browser; snapshotsPromiseRef: PromiseRef; callstack: Callstack; config: BrowserConfig; profiler?: ProfilerRuntimeLike; } interface RequestDomSnapshotsData extends HooksData { attempt?: number; currentTest?: Test; } export declare const runWithoutHistory: (_: unknown, fn: () => T) => Promise; export declare const requestDomSnapshots: ({ session, callstack, snapshotsPromiseRef, config, attempt, currentTest, }: RequestDomSnapshotsData) => void; type CleanupDomSnapshotsData = Pick; export declare const cleanupDomSnapshots: ({ session, callstack }: CleanupDomSnapshotsData) => Promise; export declare const runGroup: ({ session, callstack, snapshotsPromiseRef, config, profiler }: HooksData, name: string, fn: () => T) => T; interface InitHistoryResult { callstack: Callstack; snapshotsPromiseRef: PromiseRef; } export declare const initCommandHistory: (session: WebdriverIO.Browser, config: BrowserConfig, profiler?: ProfilerRuntimeLike) => InitHistoryResult; export {};