import { default as React } from 'react'; import { DataType, DataSource } from '../core/UnifiedRichText'; import { CustomElement } from '../core/types'; export interface SegmentData { id: string; content: string | CustomElement[]; type: DataType; timestamp?: number; metadata?: Record; } export interface MarkdownitProps { /** 数据源 - 可以是单个数据或分段数据数组 */ dataSource: DataSource | SegmentData[]; /** 是否启用虚拟滚动 */ enableVirtualScroll?: boolean; /** 虚拟滚动项高度 */ itemHeight?: number; /** 预加载项数量 */ preloadCount?: number; /** 是否启用分段加载 */ enableSegmentedLoading?: boolean; /** 分段加载回调 */ onLoadMore?: (lastSegmentId: string) => Promise; /** 是否正在加载更多 */ isLoadingMore?: boolean; /** 尺寸大小 */ size?: 'sm' | 'md'; /** 基础路径,用于处理相对路径的图片 */ basePath?: string; /** 主题样式 */ theme?: { primaryColor?: string; secondaryColor?: string; backgroundColor?: string; textColor?: string; borderColor?: string; disabledBackground?: string; hoverBackground?: string; borderRadius?: string; padding?: string; scrollbarTrack?: string; scrollbarThumb?: string; scrollbarThumbHover?: string; }; /** 内容变化回调 */ onChange?: (content: any, type: DataType) => void; /** 滚动回调 */ onScroll?: (scrollTop: number, scrollHeight: number) => void; /** 滚动到顶部回调 */ onScrollToTop?: () => void; /** 滚动到底部回调 */ onScrollToBottom?: () => void; /** 分段点击回调 */ onSegmentClick?: (segmentId: string, segment: SegmentData) => void; /** 自定义样式 */ className?: string; /** 自定义样式对象 */ style?: React.CSSProperties; /** 容器高度 */ height?: string; /** 内容渲染完成回调(DOM 稳定后触发) */ onRendered?: (root: HTMLElement) => void; /** 是否启用 PrismJS 语法高亮(默认 false,使用普通代码块样式) */ enablePrism?: boolean; } declare const _MarkdownitWithRendered: React.FC; export default _MarkdownitWithRendered;