/** * OnboardingComposer — pure renderer for .bober/onboarding/ markdown artifacts. * * Key design invariants: * - render() is PURE. No I/O. Same inputs → same outputs. * - writeAll() is the ONLY method that touches disk. * - Marker convention guards human edits from being overwritten. * - All markdown output is GFM-compatible (no extensions). */ import type { OnboardingInputs, OnboardingArtifacts } from "./types.js"; export declare class OnboardingComposer { /** * Pure renderer. Takes typed inputs, returns 5 markdown strings. * No I/O. No side effects. Deterministic. */ render(inputs: OnboardingInputs): OnboardingArtifacts; /** * Write all 5 artifacts to `dir`, creating it if necessary. * * Marker convention: * - File absent → write `${MARKER}\n\n${content}`. * - File with marker → preserve everything above, replace below with `${MARKER}\n\n${content}`. * - File without marker → throw with clear error (refuse to clobber user content). * * @param artifacts Result of render() * @param dir Target directory (created if missing) */ writeAll(artifacts: OnboardingArtifacts, dir: string): Promise; } //# sourceMappingURL=onboarding-composer.d.ts.map