import { type RuntimeProfileSpec } from './cli-adapters/base.js'; import { type LaunchArgEntry, type LaunchArgSource, type LaunchEnvEntry, type LaunchModeSpec } from './launch-spec-render.js'; import { type EffectivePermissionPolicy } from './permission-policy.js'; import type { ManagedAgentContext } from './managed-agent-context.js'; import { type RecordedLaunchSpec } from './launch-spec-recorder.js'; export type { RecordedLaunchSpec }; export type { LaunchArgEntry, LaunchArgSource, LaunchEnvEntry, LaunchModeSpec }; export interface AgentLaunchSpecEntry { agent_id: string; cli: string; bin: string | null; bin_error: string | null; modes: LaunchModeSpec[]; cwd: string | null; cwd_kind: 'exact' | 'base'; mcp_config_path: string | null; model: string | null; permission: { tier: EffectivePermissionPolicy['tier']; source: EffectivePermissionPolicy['source']; harness_mode: string | null; }; runtime_profile: { id: string; protocol: string; model: string | null; arg_count: number; } | null; env: LaunchEnvEntry[]; last_spawn: RecordedLaunchSpec | null; varies_per_dispatch: string[]; computed_at: string; } export interface ComputeLaunchSpecDeps { delegation?: { claudeBin?: string | null; codexBin?: string | null; persistentTicketSessions?: boolean; } | null; runtimeProfileOverride?: RuntimeProfileSpec | null; now?: () => Date; } export declare function computeAgentLaunchSpec(ctx: ManagedAgentContext, deps?: ComputeLaunchSpecDeps): AgentLaunchSpecEntry; export declare function computeAgentLaunchSpecs(contexts: readonly ManagedAgentContext[], deps?: ComputeLaunchSpecDeps): AgentLaunchSpecEntry[];