/**
 * TUI rendering for the task tool.
 *
 * Pure display functions - no I/O, no subprocess knowledge.
 * Takes typed data, returns pi-tui Components.
 */
import type { TaskObservedToolCall, TaskResultRenderData, TaskUsageStats } from '../../../../app/tools/task/render-data.js';
import type { Component } from '../../../../tui/index.js';
import { Text } from '../../../../tui/index.js';
import type { Theme } from '../../../theme/runtime.js';
import type { ToolGroupMember, ToolRenderGroupOptions } from '../types.js';
export declare function formatTokens(count: number): string;
/**
 * Format usage stats for display.
 *
 * When contextWindow is provided, shows "X% context used" instead of $cost
 * (appropriate for credit-based models like shortcut-opus where cost is meaningless).
 */
export declare function formatUsage(usage: TaskUsageStats, model?: string, contextWindow?: number, toolCallCount?: number): string;
/**
 * Format a tool call for display in the task result.
 *
 * bash and execute_code show a short description (up to 50 chars).
 * read/write/edit are omitted (returns null) - not useful in task context.
 */
export declare function formatToolCall(tc: TaskObservedToolCall): string | null;
interface TaskCallRenderData {
    name: string;
    /** The query/task description sent to the subagent */
    query?: string;
}
/**
 * Render the task tool call header (shown while running / before result).
 *
 * Collapsed: name + truncated single-line query
 * Expanded: name + full query
 */
export declare function renderTaskCall(data: TaskCallRenderData, expanded: boolean, theme: Theme): Text;
/**
 * Get the "currently doing" description from the latest tool call.
 * Walks backwards to find the last displayable tool call.
 */
export declare function getCurrentActivity(toolCalls: TaskObservedToolCall[]): string | null;
/**
 * Render the task tool result.
 *
 * Collapsed: compact 1-line status - "currently doing: X" or "✓ done"
 * Expanded: full details - all tool calls, output text, usage stats
 */
export declare function renderTaskResult(data: TaskResultRenderData, expanded: boolean, theme: Theme): Text;
/**
 * Render a group of concurrent task calls as a single tree.
 *
 * Pure function - takes member snapshots from the framework, returns a Component.
 *
 *   ✓ General Subagent
 *   ├─ Revenue Sheet: Analyze Q3 revenue data...
 *   │     ✓ done  18 steps  claude-opus-4-8
 *   ├─ Income Statement: Build income statement...
 *   │     Step 3: >_ Running calculations  claude-opus-4-8
 *   └─ Format Summary: Apply formatting...
 *         ⏳ starting...
 */
export declare function renderTaskGroup(members: ToolGroupMember<TaskResultRenderData>[], options: ToolRenderGroupOptions, theme: Theme): Component;
export declare function formatAgentTypeLabel(agentType: string): string;
export {};
//# sourceMappingURL=task.d.ts.map