import { ImportedFile } from '../interfaces/index.js'; /** * 文件导入器接口 */ export interface IFileImporter { name: string; supportedExtensions: string[]; supportedMimeTypes: string[]; canImport(filePath: string, mimeType?: string): boolean; import(filePath: string, options?: ImportOptions): Promise; } /** * 导入选项 */ export interface ImportOptions { encoding?: BufferEncoding; maxSize?: number; preview?: boolean; includeMetadata?: boolean; } /** * 文件导入器注册表 */ export declare class FileImporterRegistry { private importers; private defaultImporter; constructor(); /** * 注册内置导入器 */ private registerBuiltinImporters; /** * 注册导入器 */ register(importer: IFileImporter): void; /** * 获取适合的导入器 */ getImporter(filePath: string): IFileImporter; /** * 导入文件 */ import(filePath: string, options?: ImportOptions): Promise; /** * 批量导入文件 */ importFiles(filePaths: string[], options?: ImportOptions): Promise; /** * 获取支持的扩展名 */ getSupportedExtensions(): string[]; /** * 获取导入器信息 */ getImporterInfo(): Array<{ name: string; extensions: string[]; mimeTypes: string[]; }>; } /** * 文本文件导入器 */ export declare class TextFileImporter implements IFileImporter { name: string; supportedExtensions: string[]; supportedMimeTypes: string[]; canImport(filePath: string, mimeType?: string): boolean; import(filePath: string, options?: ImportOptions): Promise; } /** * 图片文件导入器 */ export declare class ImageFileImporter implements IFileImporter { name: string; supportedExtensions: string[]; supportedMimeTypes: string[]; canImport(filePath: string, mimeType?: string): boolean; import(filePath: string, options?: ImportOptions): Promise; } /** * JSON 文件导入器 */ export declare class JsonFileImporter implements IFileImporter { name: string; supportedExtensions: string[]; supportedMimeTypes: string[]; canImport(filePath: string, mimeType?: string): boolean; import(filePath: string, options?: ImportOptions): Promise; } /** * 二进制文件导入器 */ export declare class BinaryFileImporter implements IFileImporter { name: string; supportedExtensions: string[]; supportedMimeTypes: string[]; canImport(filePath: string, mimeType?: string): boolean; import(filePath: string, options?: ImportOptions): Promise; } //# sourceMappingURL=FileImporter.d.ts.map