import { KindRegistry } from '../model/kind-registry.js'; import { RelationshipRegistry } from '../model/relationship-registry.js'; /** .project.json format from SysAnd */ export interface SysAndProjectJson { name?: string; publisher?: string; version?: string; type?: string; usage?: string[]; } /** .meta.json format from SysAnd export */ export interface SysAndMetaJson { index?: Record; created?: string; checksum?: Record; } /** Result of importing a SysAnd project */ export interface SysAndImportResult { /** Project metadata from .project.json */ projectJson: SysAndProjectJson; /** Meta information from .meta.json (if present) */ metaJson?: SysAndMetaJson; /** Populated KindRegistry */ kindRegistry: KindRegistry; /** Populated RelationshipRegistry */ relationshipRegistry: RelationshipRegistry; /** Number of SysML files parsed */ fileCount: number; /** All SysML file paths (relative to project dir) */ sysmlFiles: string[]; /** Package directories found */ packageDirs: string[]; /** Warnings */ warnings: string[]; /** Errors */ errors: string[]; /** Statistics */ stats: { kinds: number; relationships: number; packages: number; sysmlFiles: number; }; } /** * Import a SysAnd project from a directory. * * Reads .project.json for metadata, then finds and parses all SysML files * to populate KindRegistry and RelationshipRegistry. * * The project directory may have: * - A flat structure: .project.json + sysml/ directory * - A packages/ structure: .project.json + packages//sysml/ directories */ export declare function importSysandProject(projectDir: string): Promise; /** * Verify round-trip: compare an exported SysAnd project's registries * against the original registries. * * Returns a diff report. Empty arrays = clean round-trip. */ export declare function verifySysandRoundTrip(originalKinds: KindRegistry, originalRels: RelationshipRegistry, importedKinds: KindRegistry, importedRels: RelationshipRegistry): SysAndRoundTripDiff; export interface SysAndRoundTripDiff { /** True if export → import round-trip is clean */ isClean: boolean; /** Kinds in original but not in imported */ missingKinds: string[]; /** Kinds in imported but not in original */ extraKinds: string[]; /** Relationships in original but not in imported */ missingRels: string[]; /** Relationships in imported but not in original */ extraRels: string[]; } //# sourceMappingURL=sysand-importer.d.ts.map