import type { Component } from 'vue'; import type { FileType, PreviewFile } from '@eternalheart/file-preview-core'; /** * 渲染器上下文:主组件传递给 getProps 的环境信息 */ export interface RendererContext { /** 解析后的 URL(可能是 blob URL) */ resolvedUrl: string; /** ZIP 嵌套深度 */ zipNestingDepth: number; /** 当前文件对象 */ currentFile: PreviewFile; } /** * 内置渲染器配置 */ export interface BuiltinRendererConfig { /** 匹配的文件类型 */ fileType: FileType; /** 渲染器组件(懒加载) */ component: Component; /** 计算传给组件的 props */ getProps: (ctx: RendererContext) => Record; } /** * 内置渲染器注册表 * * 新增渲染器: * 1. 在 src/renderers//index.vue 创建渲染器 * 2. 在 src/renderers/lazy.ts 添加懒加载导出 * 3. 在此注册表添加配置 * * 主组件 FilePreviewContent.vue 无需修改 */ export declare const BUILTIN_RENDERERS: BuiltinRendererConfig[];