/**
 * Shared progress/result/usage shapes for in-process task subagents.
 * Everything that crosses the runner -> manager -> tool boundary is defined here.
 */
export interface TaskUsageStats {
    input: number;
    output: number;
    cacheRead: number;
    cacheWrite: number;
    cost: number;
    turns: number;
    lastTurnInput: number;
}
export declare const TASK_RECENT_TOOL_CALL_LIMIT = 8;
export declare const TASK_OUTPUT_LINE_LIMIT = 80;
export declare const TASK_PARENT_NOTIFICATION_MAX_CHARS = 1600;
export declare const TASK_DISPLAY_PREVIEW_MAX_CHARS = 180;
/** Build a fresh, zero-initialized usage stats record. */
export declare function emptyTaskUsage(): TaskUsageStats;
/** Build a TaskSubagentResult representing a thrown error during runner setup. */
export declare function failedTaskSubagentResult(error: unknown, model?: string): TaskSubagentResult;
export interface TaskObservedToolCall {
    name: string;
    args: Record<string, unknown>;
}
export interface TaskSubagentProgress {
    text: string;
    toolCalls: TaskObservedToolCall[];
    outputLines: string[];
    activeToolUses: number;
    usage: TaskUsageStats;
    model?: string;
    sessionId?: string;
    sessionFile?: string;
}
export interface TaskSubagentResult {
    text: string;
    toolCalls: TaskObservedToolCall[];
    outputLines?: string[];
    usage: TaskUsageStats;
    model?: string;
    exitCode: number;
    stderr: string;
    sessionId?: string;
    sessionFile?: string;
    stopReason?: string;
    errorMessage?: string;
    aborted?: boolean;
}
//# sourceMappingURL=types.d.ts.map