/*! * @module debug/controller */ import { Debuggee } from '../debuggee'; import * as stackdriver from '../types/stackdriver'; export interface Controller { /** * Register to the API (implementation) * * @param {!function(?Error,Object=)} callback */ register(debuggee: Debuggee, callback: (err: Error | null, result?: { debuggee: Debuggee; agentId: string; }) => void): void; /** * Update the server about breakpoint state * @param {!Debuggee} debuggee * @param {!Breakpoint} breakpoint * @param {!Function} callback accepting (err, body) */ updateBreakpoint(debuggee: Debuggee, breakpoint: stackdriver.Breakpoint, callback: (err?: Error, body?: {}) => void): void; /** * Start listening to breakpoints updates. The callback will be called when * there is an unrecoverable error or when the set of active breakpoints has changed. * @param {!Debuggee} debuggee * @param {!function(?Error,Object=)} callback accepting (err, breakpoints) */ subscribeToBreakpoints(debuggee: Debuggee, callback: (err: Error | null, breakpoints: stackdriver.Breakpoint[]) => void): void; /** * Stops the Controller. This is for testing purposes only. */ stop(): void; }