/** A document type in the factory catalog. All templates are * language-agnostic Markdown. Single source of truth shared by * doc-selection (what to write), the docs-structure command (stubs), * agent-generator (writer contracts), and doctor (validation). */ export interface DocTypeSpec { id: DocTypeId; title: string; /** Default target path, relative to the project root. Ends with "/" for * types that own a folder of pages (adr, api-reference, how-to, tutorial, * explanation). */ defaultPath: string; /** Hard length cap in lines. Doctor warns above it. */ maxLines: number; /** Headings that MUST appear, in order (e.g. "## Context" for ADRs). */ requiredSections: string[]; /** Standard this template is based on (for doctor messages and docs). */ basedOn: string; /** Markdown template stub body, starting with DOC_STUB_MARKER. */ template: string; } export type DocTypeId = "readme" | "changelog" | "adr" | "api-reference" | "how-to" | "tutorial" | "architecture" | "explanation" | "contributing"; export declare const DOC_STUB_MARKER = ""; export declare const DOC_TYPES: Record; export declare function getDocType(id: DocTypeId): DocTypeSpec; export declare function isDocStub(content: string): boolean; export declare function renderTemplateStub(id: DocTypeId): string;