/** * RunCompletionSummary - Displays enhanced run loop completion recap * * Shows a bordered summary box with timing, phases, iterations, tasks, code changes, * commits, and PR/issue links after a feature loop completes. */ import React from 'react'; import type { RunSummary, FileChangeStat } from '../screens/RunScreen.js'; /** * Formatted file change row for aligned display in the Changes section. */ export interface FormattedFileChange { /** Path, possibly truncated with prefix ellipsis, padded to path column width */ displayPath: string; /** Insertions string, e.g. "+10" or "+ 3", right-aligned within fixed width */ addedStr: string; /** Deletions string, e.g. "-5" or "-18", right-aligned within fixed width */ removedStr: string; } /** * Truncate a file path to fit within maxWidth characters. * If the path exceeds maxWidth, truncates from the start and prefixes with '…'. */ export declare function truncatePath(path: string, maxWidth: number): string; /** * Truncate text from the end to fit within maxWidth characters. * Appends '…' if truncated. */ export declare function truncateEnd(text: string, maxWidth: number): string; /** * Format a list of file change stats into fixed-width, aligned display rows. * Stats columns are always fully visible; the path column shrinks to fill remaining space. */ export declare function formatChangesFiles(files: FileChangeStat[], contentWidth: number): FormattedFileChange[]; /** * Props for RunCompletionSummary component */ export interface RunCompletionSummaryProps { /** Run summary data */ summary: RunSummary; } export declare function RunCompletionSummary({ summary, }: RunCompletionSummaryProps): React.ReactElement;