import type { CliAdapter } from '../../cli-adapters/base.js'; import type { RuntimePluginRegistry } from './plugin-registry.js'; import type { OneshotSpec, SessionSpec } from '../../cli-adapters/base.js'; import type { RuntimeInfrastructurePorts } from '../ports/index.js'; export declare class RuntimeAdapterResolver { #private; private readonly registry; readonly ports: RuntimeInfrastructurePorts; constructor(registry: RuntimePluginRegistry, ports: RuntimeInfrastructurePorts); resolve(runtimeId: string | null | undefined): CliAdapter; buildOneshot(runtimeId: string | null | undefined, spec: OneshotSpec): { adapter: CliAdapter; request: ReturnType; spec: import("../ports/index.js").CliOneshotRequestPort; descriptor: import("../ports/index.js").CliSpawnDescriptorPort; }; buildSession(runtimeId: string | null | undefined, mode: 'persistent' | 'resume' | 'control', spec: SessionSpec, sessionId?: string): { adapter: CliAdapter; request: ReturnType; spec: import("../ports/index.js").CliSessionRequestPort; descriptor: import("../ports/index.js").CliSpawnDescriptorPort; }; spawnProcess(command: string, args: readonly string[], options: Readonly>): any; shouldRetry(runtimeId: string, cause: unknown, attempt: number): boolean; }