import { type NativeMethodology, type NativeProjectResolution } from './native-project.js'; import { type EffectiveMethodology } from './methodology-resolver.js'; /** Primitive value pulled out of a SysML attribute literal. */ export type MethodologyAttrValue = string | number | boolean; /** A `part : { ... }` usage from resolved source. */ export interface MethodologyPart { partName: string; partType: string; attributes: Record; multiAttributes: Record; sourceFile: string; namespace?: string; } /** A `part def Foo :> Bar { ... }` declaration in resolved methodology source. */ export interface MethodologyPartDef { name: string; superType?: string; sourceFile: string; namespace?: string; } /** One methodology-supplying source unit. */ export interface MethodologyFolderInfo { /** Package name supplying the methodology content. */ name: string; /** Absolute path of the root that supplied it. */ rootDir: string; sourceFiles: string[]; namespaces: string[]; partDefs: MethodologyPartDef[]; parts: Record; } /** Top-level descriptor exposed to clients. */ export interface MethodologyDescriptor { folders: MethodologyFolderInfo[]; errors: string[]; /** The resolved chain, merged selection, and policy chain. */ effective?: EffectiveMethodology; /** Methodologies visible in the closure, by usage name. */ available?: NativeMethodology[]; } /** * Build the methodology descriptor for a project. * * A source unit appears here when it supplies methodology content the project * resolved — that is, when a package in the import closure declares a * methodology part. Discovery is not "a directory called `methodology/`": * that convention meant a package could ship methodology content the project * never imported and have it load anyway. */ export declare function loadMethodologyDescriptor(projectRoot: string, resolution?: NativeProjectResolution): Promise; //# sourceMappingURL=methodology-loader.d.ts.map