import { ImportFileRequest } from "@tandem/editor/common/messages"; import { ClassFactoryProvider, Kernel } from "@tandem/common"; export interface IFileImporter { importFile(request: ImportFileRequest): Promise; } export declare class FileImporterProvider extends ClassFactoryProvider { readonly name: string; readonly test: (request: ImportFileRequest) => boolean; readonly importerClass: { new (): IFileImporter; }; static readonly NS: string; constructor(name: string, test: (request: ImportFileRequest) => boolean, importerClass: { new (): IFileImporter; }); static getId(name: string): string; create(): IFileImporter; clone(): FileImporterProvider; static findByDropTarget(request: ImportFileRequest, kernel: Kernel): FileImporterProvider; } export interface IPreviewLoaderResult { uri: string; content?: string; } export interface IFilePreviewLoader { loadFilePreview(request: ImportFileRequest): Promise; } export declare class SelfPreviewLoader implements IFilePreviewLoader { loadFilePreview(request: ImportFileRequest): Promise<{ uri: string; }>; } export declare class PreviewLoaderProvider extends ClassFactoryProvider { readonly name: string; readonly test: (uri: string, kernel?: Kernel) => boolean; readonly loaderClass: { new (): IFilePreviewLoader; }; static readonly NS: string; constructor(name: string, test: (uri: string, kernel?: Kernel) => boolean, loaderClass: { new (): IFilePreviewLoader; }); static getId(name: string): string; create(): IFilePreviewLoader; clone(): PreviewLoaderProvider; static find(uri: string, kernel: Kernel): IFilePreviewLoader; }