import type { ConfigManager } from '../../config/manager.js'; /** The ONE fleet ceiling's config key ("Maximum fleet size"; renamed from orchestration.maxActiveAgents). */ export declare const FLEET_MAX_SIZE_KEY = "fleet.maxSize"; export type OrchestrationSpawnMode = 'manual-batch' | 'plan-auto' | 'recursive-child'; /** * Config keys for the orchestration caps this policy enforces. Named here so a * bind message and the structured decision can report exactly which documented * setting refused or queued a spawn. */ export declare const ORCHESTRATION_CAP_KEYS: { /** The one fleet ceiling (renamed 2026-07: refusals name fleet.maxSize). */ readonly maxActiveAgents: "fleet.maxSize"; readonly maxDepth: "orchestration.maxDepth"; readonly recursionEnabled: "orchestration.recursionEnabled"; }; /** Identity of the cap that bound a spawn decision: its config key and value. */ export type BoundCap = { /** The documented config key that bound the decision. */ key: string; /** The cap's effective value at the moment it bound. */ value: number | boolean; }; export type OrchestrationSpawnDecision = { allowed: boolean; reason?: string | undefined; maxAgents: number; activeAgents: number; availableSlots: number; requestedDepth: number; maxDepth: number; mode: OrchestrationSpawnMode; /** * When `allowed` is false because a cap was hit, the documented cap that * bound the decision (config key + value). Undefined when the spawn is * allowed. */ boundCap?: BoundCap | undefined; }; export declare function evaluateOrchestrationSpawn(input: { configManager: Pick; mode: OrchestrationSpawnMode; activeAgents: number; requestedDepth?: number | undefined; overrides?: { recursionEnabled?: boolean | undefined; maxAgents?: number | undefined; maxDepth?: number | undefined; }; }): OrchestrationSpawnDecision; //# sourceMappingURL=spawn-policy.d.ts.map