/** * @license * Copyright 2026 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { ITask } from "@workglow/task-graph"; import React from "react"; import { iterationSummaryLine } from "../model/runRowModel"; import type { CliTaskLine, IterationSlotRow } from "../taskGraphCliSubscriptions"; /** * Live Map/Reduce iterations: at most `concurrencyLimit` running clones, each * rendered as a normal task tree (title + owned subtasks), not `#1`/`#2`. */ export declare function IterationTaskRows({ task, nodeKey, slots, concurrencyLimit, }: { readonly task: ITask; /** Census path of the iterator's own row; its iterations hang off it. */ readonly nodeKey: string; readonly slots: readonly IterationSlotRow[] | undefined; readonly concurrencyLimit: number | undefined; }): React.ReactElement | null; interface SubtaskRowsProps { /** Census path of this sibling group; the viewport plan is keyed by it. */ readonly listKey: string; readonly rows: readonly CliTaskLine[]; readonly iterationSlots: ReadonlyMap; /** Live task per row id; enables recursion into rows that own subgraphs. */ readonly tasks?: ReadonlyMap | undefined; /** Nesting level of this list; recursion stops at {@link MAX_SUBTASK_DEPTH}. */ readonly depth?: number; /** Aggregate subgraph progress; only rendered in `chrome` mode. */ readonly overallProgress?: number | undefined; /** * `chrome` adds the "Subtasks" heading and subgraph progress bar — right for * the single-task view, where the subgraph is the whole screen. `compact` * (the default) just indents the rows under their parent, so a graph of N * task rows does not grow N headings. */ readonly variant?: "compact" | "chrome"; } export declare function SubtaskRows({ listKey, rows, iterationSlots, tasks, depth, overallProgress, variant, }: SubtaskRowsProps): React.ReactElement | null; /** * A single child of the same type as its parent is the same logical work seen * twice (a job-queue mirror, a task that owns a clone of itself), so the row * would just be noise. */ export declare function isRedundantSubgraph(rows: readonly CliTaskLine[], parentType: string): boolean; export { iterationSummaryLine };