import { ProbeBackend, CommandResult, GDBServerInfo } from "./backend"; import { ProcessManager } from "../utils/process-manager"; export interface OpenOCDConfig { /** Path to openocd binary */ binaryPath: string; /** OpenOCD interface config (e.g., "interface/stlink.cfg", "interface/cmsis-dap.cfg") */ interfaceConfig: string; /** OpenOCD target config (e.g., "target/stm32f4x.cfg", "target/nrf52.cfg") */ targetConfig: string; /** Extra OpenOCD config files */ extraConfigs: string[]; /** GDB port */ gdbPort: number; /** Telnet port (for OpenOCD commands) */ telnetPort: number; /** TCL port */ tclPort: number; } /** * OpenOCD backend. Supports ST-Link, CMSIS-DAP, FTDI, and many other adapters. * Uses OpenOCD's telnet interface for commands when the server is running, * or spawns one-shot openocd processes for individual commands. */ export declare class OpenOCDBackend extends ProbeBackend { readonly type: "openocd"; readonly displayName = "OpenOCD"; private config; private processManager; private gdbOutputBuffer; constructor(config: Partial, processManager: ProcessManager); /** Send a command via OpenOCD's telnet interface (when server is running) */ private telnetCommand; /** Execute OpenOCD commands. If server is running, uses telnet. Otherwise spawns a one-shot process. */ private exec; private buildConfigArgs; getDeviceInfo(): Promise; halt(): Promise; resume(): Promise; reset(halt?: boolean): Promise; step(): Promise; readMemory(address: number, length: number): Promise; writeMemory(address: number, value: number): Promise; readAllRegisters(): Promise; readRegister(name: string): Promise; flash(filePath: string, baseAddress?: number): Promise; erase(): Promise; setBreakpoint(address: number): Promise; clearBreakpoints(): Promise; executeRaw(commands: string[]): Promise; startGDBServer(): Promise<{ success: boolean; message: string; }>; stopGDBServer(): { success: boolean; message: string; }; isGDBServerRunning(): boolean; getGDBServerStatus(): GDBServerInfo; getGDBServerOutput(lines?: number): string[]; supportsRTT(): boolean; isDeviceConfigured(): boolean; getDeviceName(): string; setDevice(device: string): void; listDevices(): Promise; dispose(): void; } //# sourceMappingURL=openocd.d.ts.map