import { FileNode } from '../types'; /** * 文件数据源枚举 */ export declare enum DataSourceType { URL = "url", CONTENT = "content", FILE = "file" } /** * 预览能力枚举 */ export declare enum PreviewCapability { FULL = "full",// 完全支持预览 BASIC = "basic",// 基础预览(如图片) NONE = "none" } /** * 数据源处理结果 */ export interface DataSourceResult { /** 数据源类型 */ sourceType: DataSourceType; /** 预览能力 */ previewCapability: PreviewCapability; /** 预览用的资源URL */ previewUrl?: string; /** 内容数据 */ content?: string; /** MIME类型 */ mimeType?: string; /** 是否需要清理资源 */ needsCleanup: boolean; } /** * 数据源策略抽象接口 */ export interface DataSourceStrategy { /** 检查是否可以处理该文件 */ canHandle(file: FileNode): boolean; /** 处理文件数据并返回结果 */ process(file: FileNode): DataSourceResult; } /** * URL数据源策略 */ export declare class UrlDataSourceStrategy implements DataSourceStrategy { canHandle(file: FileNode): boolean; process(file: FileNode): DataSourceResult; private getFileCategory; private getPreviewCapability; private inferMimeType; } /** * 内容数据源策略 */ export declare class ContentDataSourceStrategy implements DataSourceStrategy { canHandle(file: FileNode): boolean; process(file: FileNode): DataSourceResult; } /** * File对象数据源策略 */ export declare class FileDataSourceStrategy implements DataSourceStrategy { canHandle(file: FileNode): boolean; process(file: FileNode): DataSourceResult; private getCategoryFromMimeType; private isCodeMimeType; private getPreviewCapability; } /** * 数据源管理器 */ export declare class DataSourceManager { private strategies; /** * 处理文件数据源 */ processFile(file: FileNode): DataSourceResult; /** * 清理资源 */ cleanupResult(result: DataSourceResult): void; /** * 注册新的数据源策略 */ registerStrategy(strategy: DataSourceStrategy): void; } /** * 全局数据源管理器实例 */ export declare const dataSourceManager: DataSourceManager;