/** The hard, locked batch threshold enforced by the runtime gate. */ export declare const DEFAULT_SPAWN_THRESHOLD = 4; /** The justification a large batch must supply to pass the hard gate. */ export interface SpawnPlanReceipt { whyParallel: string; whyNotLocal: string; independence: string; expectedReceiptShape: string; maxInlineTokens: number; } export interface SpawnGateRequest { /** Number of children the batch wants to spawn. */ childCount: number; /** The spawn-plan receipt, when provided. */ plan?: SpawnPlanReceipt; } export type SpawnGateOutcome = "allowed" | "rejected"; export interface SpawnGateDecision { outcome: SpawnGateOutcome; /** Human-readable reason, suitable for a blocked-result message. */ reason: string; /** Whether a plan was required for this request. */ planRequired: boolean; /** Missing plan field names when rejected for an incomplete plan. */ missingFields: readonly string[]; } export declare function findMissingPlanFields(plan: SpawnPlanReceipt | undefined): string[]; export declare function decide(childCount: number, threshold: number, plan: SpawnPlanReceipt | undefined): SpawnGateDecision; export declare function evaluateSpawnGate(request: SpawnGateRequest): SpawnGateDecision;