import { default as React } from 'react'; import { AppTheme, Annotation, MDAnnotation, TableAnnotation, ToolsConfig } from './types'; export interface CustomizeComponents { LoadingComponent?: React.ComponentType<{ status: string; theme: AppTheme; }>; ErrorComponent?: React.ComponentType<{ error: string; theme: AppTheme; }>; } export interface FviewerData { content: any; fileName?: string; fileType?: string; totalPages?: number; pdfStartPage?: number; } export interface FviewerProps { data: FviewerData; annotationData?: (Annotation | MDAnnotation | TableAnnotation)[]; totalPage?: number; currentPage?: number; scale?: number; initialZoom?: number; rotation?: number; setScale?: (scale: number) => void; eventsEmit?: (name: string, data?: any, innerFn?: any) => void; styles?: { theme?: AppTheme; mode?: 'light' | 'dark'; }; tools?: ToolsConfig; customComponents?: CustomizeComponents; className?: string; contentClass?: string; } /** * Fviewer核心组件 * 负责文件类型检测、内容渲染和状态管理 * * @param props - 组件属性 * @returns Fviewer组件 */ declare const Fviewer: React.FC; export default Fviewer;