/** Serialize a bulb's blocks back into `.bulb.md` text. */ import { type SubscriptKind } from './registry.js'; export type BulbSource = { name: string; } & Partial>; /** Serialize a bulb to `.bulb.md` text: YAML frontmatter then one `**filename**` block per present kind. */ export declare function serializeBulb(source: BulbSource): string; /** * Replace one block's fence content in existing `.bulb.md` text, surgically — everything else * (frontmatter beyond format/name, inter-block prose, block order) is preserved verbatim, which a * parse→serialize round trip would lose. Appends the block at the end when absent. The fence grows * if the new content carries a longer backtick run; an unterminated block is left untouched. */ export declare function replaceBulbBlock(content: string, kind: SubscriptKind, newContent: string): string; /** * Remove one block — header, fence, and content — from existing `.bulb.md` text, surgically: the * deletion counterpart of `replaceBulbBlock`, preserving everything else verbatim. The blank run * that separated the block from what follows goes with it, so removal leaves no gap. An absent or * unterminated block returns the input unchanged (a caller tells the two apart by checking presence * first, as `typebulb put` does). */ export declare function removeBulbBlock(content: string, kind: SubscriptKind): string; //# sourceMappingURL=serialize.d.ts.map