/// import { Socket } from "net"; export interface HaltEvent { signal: HaltSignal; label: string; threadId?: number; } export declare enum HaltSignal { INT = 2, ILL = 4, TRAP = 5, EMT = 7, FPE = 8, BUS = 10, SEGV = 11 } export declare enum BreakpointCode { SOFTWARE = 0, HARDWARE = 1, WRITE = 2, READ = 3, ACCESS = 4 } declare type Events = { stop: (e: HaltEvent) => void; end: () => void; output: (message: string) => void; }; export declare const DEFAULT_FRAME_INDEX = -1; export declare class GdbClient { private socket; private requestMutex; private frameMutex; private eventEmitter; private responseCallback?; private haltStatus; constructor(socket?: Socket); connect(host: string, port: number): Promise; destroy(): void; getOffsets(): Promise; setBreakpoint(address: number, type?: BreakpointCode, size?: number): Promise; setExceptionBreakpoint(exceptionMask: number): Promise; removeBreakpoint(address: number, type?: BreakpointCode, size?: number): Promise; pause(threadId: number): Promise; continueExecution(threadId: number): Promise; stepIn(threadId: number): Promise; stepToRange(threadId: number, startAddress: number, endAddress: number): Promise; getHaltStatus(): Promise; readMemory(address: number, length: number): Promise; writeMemory(address: number, dataToSend: string): Promise; getRegisters(threadId?: number | null): Promise; getRegister(regIdx: number): Promise; setRegister(regIdx: number, value: number): Promise; getFramesCount(): Promise; selectFrame(frameIndex: number): Promise; withFrame(requestedFrame: number | undefined, cb: (returnedFrame: number) => Promise): Promise; monitor(command: string): Promise; on(event: U, listener: Events[U]): this; once(event: U, listener: Events[U]): this; off(event: U, listener: Events[U]): this; private sendEvent; private request; private requestNoRes; private handleData; private parseHaltStatus; } declare const errorMessages: { E01: string; E02: string; E03: string; E04: string; E05: string; E06: string; E07: string; E08: string; E09: string; E0F: string; E10: string; E11: string; E12: string; E20: string; E21: string; E22: string; E25: string; E26: string; E30: string; E31: string; E40: string; E41: string; }; declare type ErrorType = keyof typeof errorMessages; export declare class GdbError extends Error { errorType: ErrorType; constructor(errorType: string); } export {};