/**
 * DAP (Debug Adapter Protocol) adapter for B2C Commerce Script Debugger.
 *
 * Extends `@vscode/debugadapter`'s LoggingDebugSession and maps DAP requests
 * to SDAPI operations. Works over stdio (CLI) or inline (VSCode extension).
 *
 * @module operations/debug/dap-adapter
 */
import { LoggingDebugSession } from '@vscode/debugadapter';
import type { DebugProtocol } from '@vscode/debugprotocol';
import type { DebugSessionCallbacks, DebugSessionConfig } from './types.js';
/**
 * Launch request arguments (received via launch.json or CLI config).
 */
interface LaunchRequestArguments extends DebugProtocol.LaunchRequestArguments {
    hostname?: string;
    username?: string;
    password?: string;
    clientId?: string;
    cartridgePath?: string;
    pollInterval?: number;
    keepaliveInterval?: number;
}
/**
 * B2C Script Debug Adapter.
 *
 * Can be used in two modes:
 * 1. **Pre-configured**: Pass a `DebugSessionConfig` to the constructor (for inline VSCode use)
 * 2. **Launch-configured**: Config comes from DAP launch request arguments (for CLI stdio use)
 */
export declare class B2CScriptDebugAdapter extends LoggingDebugSession {
    private session?;
    private sourceMapper?;
    private variableStore;
    private preConfig?;
    private externalCallbacks;
    /** Breakpoints keyed by server script_path (merged across all files) */
    private breakpointsBySource;
    /** Logpoint messages keyed by "script_path:line_number" */
    private logpoints;
    constructor(config?: DebugSessionConfig, callbacks?: DebugSessionCallbacks);
    /**
     * Override shutdown to prevent the base class from calling process.exit().
     * Process lifecycle is managed by the CLI command, not the adapter.
     */
    shutdown(): void;
    protected initializeRequest(response: DebugProtocol.InitializeResponse, _args: DebugProtocol.InitializeRequestArguments): void;
    protected launchRequest(response: DebugProtocol.LaunchResponse, args: LaunchRequestArguments): Promise<void>;
    protected configurationDoneRequest(response: DebugProtocol.ConfigurationDoneResponse, _args: DebugProtocol.ConfigurationDoneArguments): void;
    protected disconnectRequest(response: DebugProtocol.DisconnectResponse, _args: DebugProtocol.DisconnectArguments): Promise<void>;
    protected terminateRequest(response: DebugProtocol.TerminateResponse, _args: DebugProtocol.TerminateArguments): Promise<void>;
    protected setBreakPointsRequest(response: DebugProtocol.SetBreakpointsResponse, args: DebugProtocol.SetBreakpointsArguments): Promise<void>;
    protected threadsRequest(response: DebugProtocol.ThreadsResponse): void;
    protected stackTraceRequest(response: DebugProtocol.StackTraceResponse, args: DebugProtocol.StackTraceArguments): Promise<void>;
    protected scopesRequest(response: DebugProtocol.ScopesResponse, args: DebugProtocol.ScopesArguments): void;
    protected variablesRequest(response: DebugProtocol.VariablesResponse, args: DebugProtocol.VariablesArguments): Promise<void>;
    protected evaluateRequest(response: DebugProtocol.EvaluateResponse, args: DebugProtocol.EvaluateArguments): Promise<void>;
    protected continueRequest(response: DebugProtocol.ContinueResponse, args: DebugProtocol.ContinueArguments): Promise<void>;
    protected nextRequest(response: DebugProtocol.NextResponse, args: DebugProtocol.NextArguments): Promise<void>;
    protected stepInRequest(response: DebugProtocol.StepInResponse, args: DebugProtocol.StepInArguments): Promise<void>;
    protected stepOutRequest(response: DebugProtocol.StepOutResponse, args: DebugProtocol.StepOutArguments): Promise<void>;
    private handleThreadStopped;
    private handleLogpoint;
    private handleThreadContinued;
    private handleThreadExited;
    private resolveConfig;
    private memberToVariable;
    private friendlyErrorMessage;
    private _nextBreakpointId;
    private allocateBreakpointId;
}
export {};
