/** * Issue list view transforms. * * Pure functions that turn IssueInfo[] into grouped/sorted rows for the * `trellis issue list` command. No I/O, no color — rendering is the caller's * job. The TUI (OpenTUI) and web clients are separate surfaces that speak * their own projection engines; this module owns only the plain-text/JSON CLI * views. */ import type { IssueInfo } from '../vcs/issue.js'; export type IssueView = 'list' | 'table' | 'kanban'; export type IssueSort = 'priority' | 'created' | 'started' | 'progress' | 'blocked'; export type IssueGroupBy = 'status' | 'priority' | 'label' | 'assignee'; export declare const STATUS_ORDER: readonly ["backlog", "queue", "in_progress", "paused", "closed"]; export declare const PRIORITY_ORDER: readonly ["critical", "high", "medium", "low"]; export interface IssueRow { issue: IssueInfo; /** Acceptance-criteria completion as `passed/total`, or null when none. */ ac: { passed: number; total: number; } | null; } export interface IssueGroup { key: string; label: string; rows: IssueRow[]; } export declare function sortRows(rows: IssueRow[], sort?: IssueSort): IssueRow[]; /** * Build ordered, sorted, grouped rows for rendering. * Groups are ordered sensibly (status/priority order, alpha otherwise). */ export declare function buildView(issues: IssueInfo[], opts?: { sort?: IssueSort; groupBy?: IssueGroupBy; }): IssueGroup[]; //# sourceMappingURL=views.d.ts.map