import type { ParsedLesson } from './drift-detector.js';
export declare const SENTINEL_START = "<!-- totem:generated:start -->";
export declare const SENTINEL_END = "<!-- totem:generated:end -->";
/**
 * Format parsed lessons as a markdown block for injection into AI config files.
 * Always generates sentinel markers (even for empty lessons) to preserve idempotency.
 *
 * When `archivedReasonByHash` is provided, lessons whose content-hash is in the
 * map get an `_(archived: <reason>)_` suffix so a reading agent can weight the
 * guidance appropriately. Empty / missing reasons fall back to a plain bullet
 * (Tenet 4 spirit — surface the rule loudly even with degraded metadata).
 * Per mmnto-ai/totem#1873.
 */
export declare function formatLessonsAsMarkdown(lessons: ParsedLesson[], archivedReasonByHash?: ReadonlyMap<string, string>): string;
/**
 * Inject a generated block between sentinel markers in file content.
 * - If sentinels exist: replaces content between them (inclusive)
 * - If no sentinels: appends block to end of file
 * - If mismatched sentinels (start without end): throws error
 */
export declare function injectSentinelBlock(existingContent: string, generatedBlock: string): string;
/**
 * Export formatted lessons to a target file path.
 * Creates directories if needed. Uses sentinel-based injection for idempotent updates.
 *
 * When `archivedReasonByHash` is provided, lessons whose content-hash appears
 * in the map render with an `_(archived: <reason>)_` annotation suffix
 * (mmnto-ai/totem#1873).
 */
export declare function exportLessons(lessons: ParsedLesson[], targetPath: string, archivedReasonByHash?: ReadonlyMap<string, string>): void;
//# sourceMappingURL=exporter.d.ts.map