import type { QueryContext } from './query-engine.js'; import type { StandardsReport } from './standards-report.js'; export interface MemoStandardsSpec { /** `checklist` (per clause, the default) or `summary` (per standard). */ display?: 'checklist' | 'summary'; /** Designation substring. Absent selects every standard in scope. */ standard?: string; /** Clause status filter. Default `all`. */ status?: 'all' | 'gaps' | 'claimed' | 'evidenced'; /** * Which standards to draw from. `required` (the default) is the ones a * declared regime pulls in; `unrequired` is the method and reference * standards no regime mandates, plus packs outside the declared regimes. */ scope?: 'required' | 'unrequired' | 'all'; /** Message when the SELECTION is empty — never when clauses are unclaimed. */ empty?: string; } export declare function parseMemoStandards(blockContent: string): MemoStandardsSpec | null; /** * Reject a directive this renderer does not understand, in the same spirit as * `validateQuerySpec`: a misspelled key that is ignored produces a table that * looks authoritative and is not. */ export declare function validateStandardsSpec(spec: MemoStandardsSpec, source?: string): void; export declare function renderStandardsBlock(spec: MemoStandardsSpec, report: StandardsReport, ctx: QueryContext): string; export interface ProcessStandardsOptions { source?: string; onError?: 'throw' | 'annotate'; } /** * Replace every ```memo-standards``` block with the rendered report. * * When the caller supplied no report — an Architect preview, a compile with no * model — the block says so in the document. It never renders an empty table: * "this project claims no clauses" and "the report was not computed" are * different statements, and only one of them is an audit finding. */ export declare function processMemoStandardsBlocks(content: string, ctx: QueryContext, options?: ProcessStandardsOptions): string; //# sourceMappingURL=standards-block.d.ts.map