import VM from "@nomiclabs/ethereumjs-vm";
import { MessageTrace } from "./message-trace";
export declare class VMTracer {
    private readonly _vm;
    private readonly _dontThrowErrors;
    private _messageTraces;
    private _enabled;
    private readonly _getContractCode;
    private _lastError;
    constructor(_vm: VM, _dontThrowErrors?: boolean);
    enableTracing(): void;
    disableTracing(): void;
    get enabled(): boolean;
    getLastTopLevelMessageTrace(): MessageTrace;
    getLastError(): Error | undefined;
    clearLastError(): void;
    private _shouldKeepTracing;
    private _beforeMessageHandler;
    private _stepHandler;
    private _afterMessageHandler;
}
//# sourceMappingURL=vm-tracer.d.ts.map