/** * Artifact markdown export — narrow handoff move, not a generic writer. * * Laws: * - Reads the artifact's EXISTING markdown file. No re-render, no * model call. * - Prepends a provenance header (HTML comment) so exported files * keep identity and point back at the source JSON. * - Path safety is strict: * - target_path must be absolute * - no '..' segments in the input path (checked before normalize) * - must end in .md * - must live under one of the caller-supplied allowed_roots — * no global default. The caller declares where export may * write; the tool never guesses. * - Overwrite is opt-in. Default refuses when target exists so * re-runs never clobber a hand-edited copy silently. */ import type { PackArtifact } from "./scan.js"; export interface ExportOptions { target_path: string; allowed_roots: string[]; overwrite?: boolean; } export interface ExportResult { target_path: string; bytes_written: number; overwrote: boolean; provenance: { pack: string; slug: string; created_at: string; source_json_path: string; }; exported_at: string; } /** * Execute the export. Takes the resolved artifact + target details * and writes the artifact's existing markdown (with a provenance * header prepended) to target_path. */ export declare function exportArtifactMarkdown(artifact: PackArtifact, opts: ExportOptions): Promise; //# sourceMappingURL=export.d.ts.map