import { TestStepKey, TestStep } from "../../types";
export declare class Callstack {
    private _history;
    private _stack;
    private _isInBypassMode;
    constructor();
    /** Bypass mode indicates that no hooks should be invoked (e.g. `before()` / `after()`). Useful for system commands that should be run bypassing hooks. */
    get isInBypassMode(): boolean;
    setIsInBypassMode(flag: boolean): void;
    enter(data: Omit<TestStep, TestStepKey.TimeStart | TestStepKey.Children>): void;
    leave(key: symbol): void;
    markError(shouldPropagateFn: (parentNode: TestStep, currentNode: TestStep) => boolean): void;
    release(): TestStep[];
}
