import { SemanticType } from '../Semantics.js';
/**
 * Type guard to check if a semantic is a Markdown semantic.
 */
export const isMarkdownSemantic = (semantic) => {
    return semantic.id === SemanticType.Markdown;
};
/**
 * Helper function to create a Markdown semantic with configuration.
 */
export const createMarkdownSemantic = (config = {}) => {
    const mergedConfig = {
        ...DEFAULT_MARKDOWN_CONFIG,
        ...config,
    };
    if (config.metadata) {
        mergedConfig.metadata = { ...config.metadata };
    }
    return {
        id: SemanticType.Markdown,
        config: mergedConfig,
    };
};
/**
 * Default configuration for Markdown semantic.
 */
export const DEFAULT_MARKDOWN_CONFIG = {
    allowedTags: ['b', 'i', 'em', 'strong', 'a', 'ul', 'ol', 'li', 'p', 'br', 'pre', 'code'],
    renderMode: 'html',
    sanitizeLevel: 'strict',
    allowImages: true,
    allowLinks: true,
    allowTables: true,
    allowHtml: false,
    allowFootnotes: false,
    allowTaskLists: false,
    allowStrikethrough: true,
    allowMath: false,
};
//# sourceMappingURL=Markdown.js.map