/** * Base exporter and importer interfaces */ import { Project } from '../project/project'; export interface ExportOptions { includeTextures?: boolean; includeAnimations?: boolean; includeMetadata?: boolean; prettyPrint?: boolean; [key: string]: any; } export interface ImportOptions { merge?: boolean; replace?: boolean; preserveUUIDs?: boolean; [key: string]: any; } export interface Exporter { /** * Export project data to a specific format */ export(project: Project, options?: ExportOptions): Promise | any; /** * Get export options schema (for UI) */ getExportOptionsSchema?(): any; /** * Validate export options */ validateOptions?(options: ExportOptions): { valid: boolean; errors?: string[]; }; /** * Get file extension for this format */ getExtension?(): string; /** * Get MIME type for this format */ getMimeType?(): string; } export interface Importer { /** * Import data into a project */ import(data: any, project: Project, options?: ImportOptions): Promise | void; /** * Check if data is valid for this importer */ canImport?(data: any): boolean; /** * Get supported file extensions */ getExtensions?(): string[]; /** * Get MIME types supported */ getMimeTypes?(): string[]; } /** * Base exporter class with common functionality */ export declare abstract class BaseExporter implements Exporter { abstract export(project: Project, options?: ExportOptions): Promise | any; getExtension(): string; getMimeType(): string; validateOptions(options?: ExportOptions): { valid: boolean; errors?: string[]; }; } /** * Base importer class with common functionality */ export declare abstract class BaseImporter implements Importer { abstract import(data: any, project: Project, options?: ImportOptions): Promise | void; canImport(data: any): boolean; getExtensions(): string[]; getMimeTypes(): string[]; } //# sourceMappingURL=exporter.d.ts.map