/** * Research note serializer — PURE citation-frontmatter markdown note for MedlinePlus findings. * * PURE / NO network / NO LLM / NO Date.now() * All timestamps are injected parameters; the wall clock is read ONLY at the CLI boundary. * * Produces a vault research note with flattened citation frontmatter (title/url/source * as parallel arrays) so serializeFrontmatter (scalar/array-of-scalar only) renders correctly. * See: Pattern E / briefing §2 (the nested-object pitfall with Citation[]). */ import type { MedicalAnswer } from "../types.js"; /** * Derive the canonical path for a research note under the vault. * Output: /research/-.md * Date is sliced from the injected ISO string — never wall-clock. */ export declare function researchNotePath(vaultDir: string, marker: string, now: string): string; /** * Serialize a grounded MedicalAnswer into a vault research note string. * * Frontmatter: * title, domain, type, marker, source (scalar "medlineplus"), * citationTitles[] (strings), citationUrls[] (strings), surfacedAt, status. * * PITFALL: Citation is an object {title, url, source}. Passing citations straight into * serializeFrontmatter would render " - [object Object]". This function FLATTENS them * into parallel arrays-of-strings (citationTitles, citationUrls) + a scalar `source`. * * Body: answer.body + disclaimerFooter. */ export declare function serializeResearchNote(marker: string, answer: MedicalAnswer, now: string): string; //# sourceMappingURL=research-note.d.ts.map