import type { TodoItem } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/todo_pb";
/** Props for {@link TodoList}. */
export interface TodoListProps {
    /**
     * Todo items keyed by ID. Accepts the proto map shape directly
     * (`execution.status.todos` or `subAgentExecution.todos`).
     */
    readonly todos: {
        readonly [key: string]: TodoItem;
    };
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Renders a sorted checklist of {@link TodoItem} entries.
 *
 * Shared by {@link ExecutionProgress} (main agent sidebar widget)
 * and {@link SubAgentSection} (sub-agent expanded content).
 *
 * Items are sorted by activity: in-progress first, then pending,
 * completed, and cancelled. Each row shows a status icon and the
 * task description.
 *
 * All visual properties flow through `--stgm-*` tokens.
 *
 * @example
 * ```tsx
 * const execution = stream.execution;
 * const todos = execution?.status?.todos ?? {};
 *
 * <TodoList todos={todos} />
 * ```
 */
export declare function TodoList({ todos, className }: TodoListProps): import("react/jsx-runtime").JSX.Element | null;
/**
 * Returns the first in-progress todo from a todos map, or `null`.
 * Used by {@link SubAgentSection} to show an active task preview
 * in the collapsed summary row.
 */
export declare function findActiveTodo(todos: {
    readonly [key: string]: TodoItem;
} | undefined): TodoItem | null;
/**
 * Builds a compact completion summary string (e.g. "3/5 completed").
 * Returns `null` when there are no todos.
 */
export declare function todoCompletionSummary(todos: {
    readonly [key: string]: TodoItem;
} | undefined): string | null;
/** Exported for reuse in SubAgentSection collapsed preview. */
export declare function TodoInProgressIcon(): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=TodoList.d.ts.map