/** * Content Types Module * * Provides a flexible content abstraction layer that transforms * structured content documents into ArticleMetadata for rendering * with the val-article component. * * @example * ```typescript * // Using BlogPostBuilder * import { blogPost } from 'valtech-components'; * * const post = blogPost() * .title('My First Post') * .author('John Doe') * .heading('Introduction') * .paragraph('Welcome to my blog...') * .toArticle(); * * // Using DocsBuilder * import { docs } from 'valtech-components'; * * const page = docs() * .title('Installation') * .section('Getting Started') * .code('npm install valtech-components', 'bash') * .toArticle(); * * // Using NewsBuilder * import { news } from 'valtech-components'; * * const article = news() * .headline('Breaking News') * .summary('Important announcement...') * .breaking() * .toArticle(); * * // From JSON/API response * import { ContentTransformer, BlogPost } from 'valtech-components'; * * const json: BlogPost = await fetch('/api/posts/1').then(r => r.json()); * const article = ContentTransformer.toArticle(json); * ``` */ export { ContentAuthor, ContentMeta, ContentConfig, ContentDocument as ContentBuilderDocument, ContentBlock, HeadingBlock, ParagraphBlock, QuoteBlock, CodeBlock, ListBlock, ImageBlock, CalloutBlock, DividerBlock, ButtonBlock, CommandBlock, } from './types'; export { ContentTransformer, toArticle } from './transformer'; export { BlogPost, BlogPostBuilder, blogPost } from './content-types/blog'; export { Documentation, DocNavLink, DocsBuilder, docs } from './content-types/documentation'; export { NewsArticle, NewsBuilder, news } from './content-types/news';