import type { ResolvedRole } from '../config.js'; import type { AcpMcpServer, SessionPrep } from './types.js'; import type { AgentSessionAdapter, AgentSessionStartOptions, PreparedAgentSessionLaunch } from './agent-session.js'; import { type AcpSessionTransport } from './acp-session-transport.js'; export interface ClaudeCodeSessionStrategy { resolveBrain: AgentSessionAdapter['resolveBrain']; modelEnvironmentVariable: AgentSessionAdapter['modelEnvironmentVariable']; prepareLaunch(role: ResolvedRole, prep: SessionPrep): PreparedAgentSessionLaunch; sessionConfigSelections(role: ResolvedRole): ReturnType; permissionModeId(role: ResolvedRole): string | undefined; mcpServers(role: ResolvedRole): AcpMcpServer[] | undefined; sessionMeta(role: ResolvedRole, prep: SessionPrep): Record | undefined; } /** Explicit Claude Code implementation of Fleet's shared agent-session factory. */ export declare class ClaudeCodeAgentSessionAdapter implements AgentSessionAdapter { private readonly strategy; private readonly transport; constructor(strategy: ClaudeCodeSessionStrategy, transport?: AcpSessionTransport); resolveBrain(brain: Parameters[0]): import("./agent-session.js").ResolvedBrainSelection; modelEnvironmentVariable(): string | undefined; prepareLaunch(role: ResolvedRole, prep: SessionPrep): PreparedAgentSessionLaunch; sessionConfigSelections(role: ResolvedRole): import("./agent-session.js").AgentSessionConfigSelection[]; start(options: AgentSessionStartOptions): Promise; }