import type { Tool } from '../core/tools/tool-types.js'; interface CreateSubagentInput { task: string; scope?: 'read-only' | 'device-read' | 'full' | 'explore' | 'plan' | 'verify'; maxTurns?: number; timeoutMs?: number; background?: boolean; /** Override the sub-agent's model (e.g. a cheaper model for exploration, a * stronger one for a critical decision). Omit to use the parent's model. */ model?: string; } interface SubagentStatusInput { taskId: string; wait?: boolean; } interface SubagentStopInput { taskId: string; } /** Empty/whitespace summary is never a successful completion (parent must not trust it). */ export declare function isEmptySubagentSummary(summary: string | undefined | null): boolean; /** * Normalize child success for parent-facing results: an empty summary cannot * count as success even if the child loop returned success=true. */ export declare function normalizeSubagentSuccess(success: boolean, summary: string | undefined | null): boolean; export declare const createSubagentTool: Tool; interface FanOutTaskInput { task: string; scope?: 'read-only' | 'device-read' | 'full' | 'explore' | 'plan' | 'verify'; label?: string; /** Per-task model override (e.g. a cheap model for exploration, a strong * model for a critical angle). Omit to use the parent's model. */ model?: string; } interface FanOutSubagentsInput { tasks: FanOutTaskInput[]; maxTurns?: number; timeoutMs?: number; } type FanOutScope = NonNullable; /** * Infer a sensible default scope from the task text when the parent omits * `scope`. Review/explore stays read-only; implementation/fix verbs upgrade * to full/verify so coding slices don't land on explore by accident. * Shared by fan_out_subagents and create_subagent. * @internal exported for tests */ export declare function inferFanOutScope(task: string, explicit?: FanOutScope): FanOutScope; /** Fan-out default when task text is ambiguous: read-only explore (parallel review). */ export declare function inferFanOutScopeWithExploreDefault(task: string, explicit?: FanOutScope): FanOutScope; /** Default maxTurns by scope — explore/plan lighter than full implementation. */ export declare function defaultMaxTurnsForScope(scope: FanOutScope): number; export declare const fanOutSubagentsTool: Tool; export declare const subagentStatusTool: Tool; export declare const subagentStopTool: Tool; export {}; //# sourceMappingURL=create-subagent.d.ts.map