/** * Content Transformer * * Transforms ContentDocument instances into ArticleMetadata * for rendering with the val-article component. */ import { ArticleMetadata } from '../../components/organisms/article/types'; import { ContentDocument } from './types'; /** * ContentTransformer converts ContentDocument objects into ArticleMetadata * that can be rendered by the val-article component. * * @example * ```typescript * const doc: BlogPost = { ... }; * const article = ContentTransformer.toArticle(doc); * // Use article with * ``` */ export declare class ContentTransformer { /** * Transforms a ContentDocument into ArticleMetadata * * @param doc - The content document to transform * @returns ArticleMetadata ready for val-article component */ static toArticle(doc: ContentDocument): ArticleMetadata; /** * Adds header elements based on document type and metadata */ private static addHeader; /** * Adds footer elements based on document type */ private static addFooter; /** * Adds author information block */ private static addAuthorBlock; /** * Transforms a single content block and adds it to the builder */ private static addBlock; /** * Adds a heading block */ private static addHeading; /** * Adds a paragraph block */ private static addParagraph; /** * Adds a quote block */ private static addQuote; /** * Adds a code block */ private static addCode; /** * Adds a list block */ private static addList; /** * Adds an image block */ private static addImage; /** * Adds a callout/note block */ private static addCallout; /** * Adds a divider/separator block */ private static addDivider; /** * Adds a button block */ private static addButton; /** * Adds a command/terminal block */ private static addCommand; } /** * Convenience function to transform a ContentDocument to ArticleMetadata * * @param doc - The content document to transform * @returns ArticleMetadata ready for val-article component * * @example * ```typescript * const article = toArticle(myBlogPost); * ``` */ export declare function toArticle(doc: ContentDocument): ArticleMetadata;