import type { IAutomationFrameworkInstrumentor, BeforeAllHook, AfterAllHook, BeforeHook, AfterHook, RootCausePage } from './interfaces';
import type { TestContext } from './TestContext';
import { TestEndStatus } from './attachInterfaces';
export declare class PuppeteerPageHooker implements IAutomationFrameworkInstrumentor {
    private testContext;
    private rootPage;
    paused: boolean;
    constructor(testContext: TestContext, rootPage: RootCausePage);
    pause(): void;
    resume(): void;
    registerBeforeAllHook(hook: BeforeAllHook): void;
    registerAfterAllHook(hook: AfterAllHook): void;
    registerBeforeHook(hook: BeforeHook): void;
    registerAfterHook(hook: AfterHook): void;
    private beforeAllHooks;
    private afterAllHooks;
    private beforeHooks;
    private afterHooks;
    wrapWithProxy<T extends object>(proxiedObject: T): T;
    start(): Promise<void>;
    end(endStatus: TestEndStatus<unknown, unknown>): Promise<void>;
}
