/**
* The roadmap page as one HTML string (html-roadmap-view).
*
* Pure: a `RoadmapView` in, bytes out. The only time-dependent text is the generated-at
* line, so two pages built from the same items differ in that line alone (AC-10) — ages
* are left to the page script for exactly that reason.
*
* Every item-derived string goes through `escapeHtml`, in text and in double-quoted
* attributes alike (AC-12); there is no second escaping scheme anywhere on the page.
* That is why DOM ids are positions (`card-i3`) rather than item ids, and why each side
* panel is a `` of escaped HTML rather than JSON inside a script, which would
* need its own escaper for ``. The Content-Security-Policy allows the one style
* block and the one script by hash (AC-13), so a string that escaped escaping would still
* not run.
*
* @module
*/
import { type RoadmapStatus } from './paths.js';
import { type RoadmapView, type ViewItem } from './view-model.js';
export { escapeHtml } from './markdown.js';
/** Done cards shown before "show all" (AC-18). */
export declare const DONE_VISIBLE = 20;
/** A CSP source expression for `text`. */
export declare function cspHash(text: string): string;
/** The policy the page carries: nothing loads, and only this page's own style and script run. */
export declare function contentSecurityPolicy(): string;
/**
* The executive summary as HTML: paragraphs and `- ` lists, with bold and code spans.
*
* Tokenised from the raw markdown and escaped piece by piece, so markup in an item is text
* on the page. Deliberately not a markdown library: the summaries are six bullets, and a
* library would be the first dependency the page grows.
*/
export declare function renderSummary(markdown: string): string;
/** Days in state after which an inbox, backlog or in-progress card is marked stale (roadmap-view-readability/AC-18). */
export declare const STALE_DAYS = 30;
/** Statuses the Board shows when the URL names none (AC-1). */
export declare const BOARD_DEFAULT: readonly RoadmapStatus[];
/** The five presets every tab offers, in order (AC-6). */
export declare const PRESETS: readonly {
name: string;
statuses: readonly RoadmapStatus[];
}[];
/** A plain summary, whole and escaped; a draft says so (roadmap-cards-revamp/AC-2, AC-3). */
export declare function plainHtml(v: ViewItem): string;
/** A cost in dollars as page text, or nothing: a missing cost is never `$0`, nor is one under a cent (roadmap-cards-revamp/AC-12). */
export declare function usd(micro: number | null): string;
/** Most squares a row shows before `+N` (roadmap-cards-revamp/AC-16). */
export declare const SQUARES_PER_ROW = 3;
/** Statuses the Dependencies tab shows when the URL names none: every open state (roadmap-cards-revamp/AC-21). */
export declare const DEPS_DEFAULT: readonly RoadmapStatus[];
/** The commands that apply to an item, as `[label, command]`; the page runs none (AC-29). */
export declare function commandsFor(v: ViewItem): [string, string][];
/** Render the page. Pure. */
export declare function renderView(view: RoadmapView): string;
//# sourceMappingURL=view-html.d.ts.map