import { type LookoutEvent } from "./events.js"; import type { ResolvedConfig } from "../types.js"; import { ORDER_BY_ATTENTION, type BoardEntry } from "./board-types.js"; export type { BoardEntry, BoardShot, BoardStep, IssueStatus } from "./board-types.js"; export { ORDER_BY_ATTENTION }; export declare function buildBoard(resolved: ResolvedConfig, events?: LookoutEvent[]): Promise; /** * Counts by severity, for the headline row. Takes issues now rather than * findings: an issue is the thing you act on, and counting its findings * separately made "5 critical" mean something different from the five cards * underneath it. */ export declare function severityTally(items: { severity: string; }[]): { critical: number; high: number; medium: number; low: number; total: number; }; /** * Counts by state, for a caller that wants the headline without folding. * * `blocked` is counted on its own and never with `fixed`. It means an issue * exhausted its `verify-fix` attempts, so the defect is still there and now * needs a person. Filing it under a heading like "settled", * next to work that actually passed, reads as success and buries exactly the * work somebody needs to pick up. */ export declare function tally(board: BoardEntry[]): { open: number; verifying: number; blocked: number; done: number; archived: number; };