import { STMessage } from "./STMessage.js"; import { ErrorType } from "./ErrorType.js"; import { InstanceScope } from "../InstanceScope.js"; import { Interpreter } from "../Interpreter.js"; /** Used to track errors that occur in the ST interpreter. */ export declare class STRuntimeMessage extends STMessage { /** Where error occurred in bytecode memory. */ readonly ip: number; readonly scope?: InstanceScope; /** * Which interpreter was executing? If {@code null}, can be IO error or * bad URL etc... */ protected readonly interp: Interpreter; constructor(interp: Interpreter, error: ErrorType, ip: number); constructor(interp: Interpreter, error: ErrorType, ip: number, scope: InstanceScope); constructor(interp: Interpreter, error: ErrorType, ip: number, scope: InstanceScope, arg: unknown); constructor(interp: Interpreter, error: ErrorType, ip: number, scope: InstanceScope, e: Error, arg: unknown); constructor(interp: Interpreter, error: ErrorType, ip: number, scope: InstanceScope, e: Error | undefined, arg: unknown, arg2: unknown); constructor(interp: Interpreter, error: ErrorType, ip: number, scope: InstanceScope, e: Error | undefined, arg: unknown, arg2: unknown, arg3: unknown); /** * Given an IP (code location), get it's range in source template then * return it's template line:col. */ getSourceLocation(): string | undefined; toString(): string; }