import { IFileSystem, ILogger } from '../../domain/interfaces'; export type ProgressiveMaturityLevel = 'F1' | 'F2' | 'F3' | 'cross'; export type ProgressivePhase = ProgressiveMaturityLevel; export interface DesignArtifactDescriptor { artifactKind: string; schemaRef?: string; templateRef?: string; criteria?: string; weight?: number; condition?: string; } export interface TopologyDesignProfile { required?: DesignArtifactDescriptor[]; conditional?: DesignArtifactDescriptor[]; } export interface TopologyManifest { apiVersion: 'evolith.dev/topology/v1'; kind: 'TopologyManifest'; metadata: { id: string; name: string; dimension: string; status: 'draft' | 'proposed' | 'accepted' | 'deprecated'; version: string; }; spec: { summary: string; topologyType: string; compatibility: { progressiveAxis: { maturityLevel: ProgressiveMaturityLevel; profile: string; }; composableWith: string[]; }; artifacts: { adrs: string[]; rulesets: string[]; opaPolicies: string[]; aiRulesets: string[]; umsContracts: string[]; }; designProfile?: TopologyDesignProfile; phaseProfiles?: { construction?: TopologyDesignProfile; quality?: TopologyDesignProfile; deployment?: TopologyDesignProfile; }; corpus?: { guidance: { profile: string; maturityGuide: string; }; configurationContract: string; fixtures: { valid: string; invalid: string; }; nativeEvaluator: string; tests: { positive: string; negative: string; }; evidence: string; }; }; } export declare class TopologyCatalogService { private readonly fs; private readonly logger; constructor(fs: IFileSystem, logger: ILogger); list(corePath: string): Promise; get(corePath: string, topologyId: string): Promise; resolveProgressivePhase(corePath: string, maturityLevel: Exclude): Promise; private findManifestFiles; private readManifest; }