import { _ as ToolId, o as LaunchCommandSpec } from "./types-KR94Pl4P.js"; import { t as LaunchAdapter } from "./interfaces-CpcX0CPB.js"; //#region src/services/launch/adapters/base.d.ts /** * Abstract base implementing SOLID principles: * - SRP: only responsible for building command specs * - Template Method: subclasses override specific pieces * - DRY: shares validateAvailability and getVersion logic */ declare abstract class BaseLaunchAdapter implements LaunchAdapter { /** * Tool identifier (implemented by subclasses) */ abstract readonly toolId: ToolId; /** * Executable name (implemented by subclasses) */ abstract readonly executable: string; /** * Build the command spec for launching the tool */ abstract buildCommandSpec(payload: { yolo?: boolean; resume?: boolean; continue?: boolean; settings?: string; }): LaunchCommandSpec; /** * Default availability check (subclasses may override) */ validateAvailability(): Promise; /** * Default version check (subclasses may override) */ getVersion(): Promise; } //#endregion export { BaseLaunchAdapter as t };