///
///
import type { StopReason } from '../../Constants';
import { ErrorCode } from '../../Constants';
export declare class ThreadsResponse {
static fromJson(data: {
requestId: number;
threads: ThreadInfo[];
}): ThreadsResponse;
static fromBuffer(buffer: Buffer): ThreadsResponse;
toBuffer(): Buffer;
success: boolean;
readOffset: number;
data: {
/**
* An array of StrackEntry structs. entries[0] contains the last function called;
* entries[stack_size-1] contains the first function called.
* Debugging clients may reverse the entries to match developer expectations.
*/
threads: ThreadInfo[];
packetLength: number;
requestId: number;
errorCode: ErrorCode;
};
}
export interface ThreadInfo {
/**
* Indicates whether this thread likely caused the stop or failure
*/
isPrimary: boolean;
/**
* Indicates whether this thread likely caused the stop or failure
*/
isDetached: boolean;
/**
* An enum describing why the thread was stopped.
*/
stopReason: StopReason;
/**
* Provides extra details about the stop (for example, "Divide by Zero", "STOP", "BREAK")
*/
stopReasonDetail: string;
/**
* The 1-based line number where the stop or failure occurred.
*/
lineNumber: number;
/**
* The function where the stop or failure occurred.
*/
functionName: string;
/**
* The file where the stop or failure occurred.
*/
filePath: string;
/**
* The code causing the stop or failure.
*/
codeSnippet: string;
/**
* The ID of the thread (optional for debug protocol version ).
*/
osThreadId?: string;
/**
* The name of the thread (optional).
*/
name?: string;
/**
* The type of the thread (optional).
*/
type?: string;
}