export declare const BLUEPRINT_VOCABULARY_KINDS: readonly string[]; export type BlueprintVocabularyKind = (typeof BLUEPRINT_VOCABULARY_KINDS)[number]; export interface BlueprintFile { path: string; responsibility: string; } export interface BlueprintVocabularyEntry { name: string; kind: BlueprintVocabularyKind; definedIn: string; usedIn: string[]; note?: string; } export interface ProjectBlueprint { files: BlueprintFile[]; vocabulary: BlueprintVocabularyEntry[]; } /** Strictly validate the planning JSON against the exact set of planned targets. */ export declare function parseProjectBlueprint(output: string, allowedPaths: ReadonlySet): ProjectBlueprint; /** Render the whole agreement, used for secret scanning and for the todo pass. */ export declare function renderBlueprint(blueprint: ProjectBlueprint): string; /** * Render the agreement for one target: entries that target owns or must consume * first, then a bounded tail so it still sees the wider vocabulary. */ export declare function renderBlueprintFor(blueprint: ProjectBlueprint, targetPath: string, maxEntries?: number): string; /** Every agreed name, used to constrain what a todo list may claim to produce. */ export declare function blueprintNames(blueprint: ProjectBlueprint): Set; //# sourceMappingURL=project-blueprint.d.ts.map