export type ContentBodyFormat = 'markdown' | 'html'; export type ContentBodyImagePlacement = 'block' | 'left' | 'right' | 'center' | 'full'; export interface ContentBodyImage { src: string; alt: string; title?: string; assetId?: string; placement?: ContentBodyImagePlacement; width?: number; index: number; } export declare const DEFAULT_CONTENT_BODY_FORMAT: ContentBodyFormat; export declare function isContentBodyFormat(value: unknown): value is ContentBodyFormat; export declare function looksLikeHtml(value: unknown): boolean; export declare function resolveBodyFormat(format: unknown, body?: unknown): ContentBodyFormat; export declare function escapeHtml(value: string): string; export declare function escapeAttribute(value: string): string; export declare function sanitizeHtml(value: string): string; export declare function renderMarkdownToHtml(markdown: string): string; export declare function stripHtml(value: string): string; export declare function htmlToMarkdown(html: string): string; export declare function normalizeEditorHtml(html: string): string; export declare function bodyToEditorHtml(body: string, format: ContentBodyFormat): string; export declare function editorHtmlToBody(html: string, format: ContentBodyFormat): string; export declare function extractBodyImages(body: string, format?: ContentBodyFormat): ContentBodyImage[]; /** * Structural view of the asset-like inputs accepted by the image helpers. * Callers pass assorted asset shapes (Asset models, plain DTOs, etc.); only * these optional fields are read. */ export interface ImageAssetLike { id?: unknown; sourceUri?: unknown; url?: unknown; src?: unknown; alt?: unknown; name?: unknown; title?: unknown; width?: unknown; } export declare function getImageSource(asset: ImageAssetLike | null | undefined): string; export declare function getImageAlt(asset: ImageAssetLike | null | undefined): string; export declare function imageAssetToHtml(asset: ImageAssetLike | null | undefined): string; //# sourceMappingURL=body-format.d.ts.map