export interface Breakpoint { file: string; line: number; condition: string; } export interface Stack { level: number; address: string; function: string; fileName: string; file: string; line: number; } export interface SSHArguments { forwardX11: boolean; host: string; keyfile: string; password: string; cwd: string; port: number; user: string; remotex11screen: number; x11port: number; x11host: string; bootstrap: string; } export interface IBackend { load(cwd: string, target: string, procArgs: string, separateConsole: string): Thenable; ssh(args: SSHArguments, cwd: string, target: string, procArgs: string, separateConsole: string): Thenable; attach(cwd: string, executable: string, target: string): Thenable; connect(cwd: string, executable: string, target: string): Thenable; start(): Thenable; stop(); detach(); interrupt(): Thenable; continue(): Thenable; next(): Thenable; step(): Thenable; stepOut(): Thenable; loadBreakPoints(breakpoints: Breakpoint[]): Thenable<[boolean, Breakpoint][]>; addBreakPoint(breakpoint: Breakpoint): Thenable<[boolean, Breakpoint]>; removeBreakPoint(breakpoint: Breakpoint): Thenable; clearBreakPoints(): Thenable; getStack(maxLevels: number): Thenable; getStackVariables(thread: number, frame: number): Thenable<[string, string][]>; evalExpression(name: string): Thenable; isReady(): boolean; }