import { DebuggerWorker } from "./debugger-worker";
import { Breakpoint, InitArguments, Stackframe, Variables, Location, Trace } from "./types";
export declare class DebuggerClient {
    worker: Worker | DebuggerWorker;
    seq: number;
    initialized: boolean;
    resolverMap: Map<number, (value: unknown) => void>;
    finished: boolean;
    requestTimeout: number;
    createWorker: () => Worker | DebuggerWorker;
    private readonly commandsReturnLocation;
    private readonly breakpointCommads;
    constructor(createWorker?: () => Worker);
    initialize(init_arguments: InitArguments): Promise<Location>;
    reset(): Promise<Location>;
    stepOver(): Promise<Location>;
    stepInto(): Promise<Location>;
    stepOut(): Promise<Location>;
    stepNext(): Promise<Location>;
    advance(steps?: number): Promise<Location>;
    continueUntilBreakpoint(): Promise<Location>;
    addBreakpoint(breakpoint: Breakpoint): Promise<void>;
    removeBreakpoint(breakpoint: Breakpoint): Promise<void>;
    removeAllBreakpoints(): Promise<void>;
    requireVariables(): Promise<Variables>;
    requireStacktrace(): Promise<Stackframe[]>;
    evaluateExpression(expression: string): Promise<any>;
    runToEnd(): Promise<void>;
    requireCurrentStep(): Promise<any>;
    getCallTrace(): Promise<Trace[]>;
    private sendRequest;
    private internalSendRequest;
    private timeoutPromise;
}
