import { type Component } from "@earendil-works/pi-tui"; import type { TaskId, TaskRecord } from "../../../core/tasks/contracts.js"; /** Complete projection; viewport owners, not this list, decide how much to mount. */ export declare class TaskList implements Component { private readonly tasks; private readonly expanded; constructor(tasks: readonly TaskRecord[], expanded?: boolean); invalidate(): void; render(width: number): string[]; } export type TaskListSection = { title: string; tasks: TaskRecord[]; }; /** * Sections list running work first, then stopping, queued, failed, cancelled and completed tasks. * Within a status, the latest launch comes first; settled tasks use the latest settlement when known, * and fall back to launch order when their settlement sequences tie. */ export declare function taskListSections(tasks: readonly TaskRecord[], settlementOrder?: ReadonlyMap): TaskListSection[]; /** Terminal results remain inspectable but no longer advertise active work. */ export declare function isActiveBackgroundTask(task: TaskRecord): boolean; export declare function renderTaskFooter(tasks: readonly TaskRecord[], width: number): string[]; //# sourceMappingURL=task-list.d.ts.map