///
import inspector, { Debugger, InspectorNotification, Profiler, Runtime } from 'inspector';
import Configuration from '../models/Configuration';
import { IEvaluator } from '../utils/BreakpointFiredHandler';
export declare type DebugBreakpointHitHandler = (message: InspectorNotification) => void;
export declare class Debug implements IEvaluator {
protected session: inspector.Session;
private _config;
protected _handler: DebugBreakpointHitHandler;
initialised: boolean;
constructor(session: inspector.Session, _config: Configuration);
/**
* Connect to the node debugger
*/
init(): Promise;
addBreakpointHitHandler(handler: DebugBreakpointHitHandler): void;
/**
* Set a breakpoint on the node debugger
*
* @param locationHash The hash of the breakpoint location
* @param params The breakpoint parameters
*/
addBreakpoint(locationHash: string, params: Debugger.SetBreakpointByUrlParameterType): Debugger.BreakpointId;
/**
* Remove a breakpoint from the node debugger
*
* @param breakpointId The breakpoint id from node
*/
removeBreakpoint(breakpointId: string): void;
/**
* Get the value of the named watcher
*
* @param expression The expression to evaluate
* @param callFrameId The call frame to evaluate it on
*/
evaluateNamedWatcher(expression: string, callFrameId: string): Debugger.EvaluateOnCallFrameReturnType;
/**
* Handle the debugger pausing
*
* @param message The information at the time of pausing
*/
protected debuggerPaused(message: InspectorNotification): void;
/**
* Get the children from the Runtime
*
* @param objectId
*/
getChildrenFromRuntime(objectId: string): {
name: string;
value: Runtime.RemoteObject;
}[];
/**
* Resume the debugger.
*/
resume(): void;
startProfile(): boolean;
stopProfile(): Profiler.Profile;
stepOver(reason: string): void;
setProfileSampling(interval: number): void;
}