import { Ref } from 'vue'; /** * Renders Markdown content to sanitized HTML. * * @param {string} content - The Markdown content to render * @returns {string} Sanitized HTML string */ export function renderMarkdown(content: string): string; /** * Sanitizes HTML content. * * @param {string} content - The HTML content to sanitize * @returns {string} Sanitized HTML string */ export function sanitizeHtml(content: string): string; /** * Generates a complete HTML document for iframe preview. * * @param {string} bodyContent - The HTML content for the body * @param {string} customStyles - Optional custom CSS to add/override * @returns {string} Complete HTML document string */ export function generatePreviewDocument(bodyContent: string, customStyles?: string): string; /** * Vue composable for Markdown/HTML preview functionality. * Provides reactive preview content generation with proper sanitization. * * @param {Object} options - Configuration options * @param {import('vue').Ref} options.content - Reactive reference to the content * @param {import('vue').Ref} options.mimeType - Reactive reference to the MIME type * @param {string} options.customStyles - Optional custom CSS styles * @returns {Object} Composable API */ export function useMarkdownPreview(options?: { content: Ref; mimeType: Ref; customStyles: string; }): any; /** * Default CSS styles for the iframe preview. * These styles provide a clean, readable presentation for Markdown/HTML content. */ export const DEFAULT_PREVIEW_STYLES: "\n body {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;\n color: #333;\n margin: 1rem;\n line-height: 1.6;\n }\n h1, h2, h3, h4, h5, h6 {\n font-weight: 600;\n margin-top: 1.5em;\n margin-bottom: 0.5em;\n }\n h1 { font-size: 2em; }\n h2 { font-size: 1.5em; }\n h3 { font-size: 1.25em; }\n p { margin-bottom: 1em; }\n ul { list-style-type: disc; padding-left: 2em; }\n ol { list-style-type: decimal; padding-left: 2em; }\n li { margin-bottom: 0.25em; }\n blockquote {\n margin-left: 0;\n padding-left: 1em;\n border-left: 3px solid #ccc;\n color: #666;\n }\n code {\n background-color: #f4f4f4;\n padding: 0.2em 0.4em;\n border-radius: 3px;\n font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;\n font-size: 0.9em;\n }\n pre {\n background-color: #f4f4f4;\n padding: 1em;\n border-radius: 6px;\n overflow-x: auto;\n }\n pre code {\n background-color: transparent;\n padding: 0;\n }\n a { color: #0066cc; }\n a:hover { text-decoration: underline; }\n img { max-width: 100%; height: auto; }\n table {\n border-collapse: collapse;\n width: 100%;\n margin-bottom: 1em;\n }\n th, td {\n border: 1px solid #ddd;\n padding: 0.5em;\n text-align: left;\n }\n th { background-color: #f4f4f4; }\n hr {\n border: none;\n border-top: 1px solid #ddd;\n margin: 2em 0;\n }\n"; //# sourceMappingURL=useMarkdownPreview.d.ts.map