export interface TopologyRecommendationSignals { readonly teamCount?: number; readonly deploymentIndependence?: boolean; readonly highScale?: boolean; readonly asyncIntegration?: boolean; readonly dataProductSharing?: boolean; readonly spikyLoad?: boolean; readonly latencyTolerant?: boolean; readonly edgeOrOffline?: boolean; readonly aiAgents?: boolean; readonly [signal: string]: number | boolean | undefined; } export interface TopologyRecommendationRule { readonly id: string; readonly when?: Readonly>; readonly recommend: string; readonly rationale: string; readonly priority?: number; } export interface TopologyRecommendationRules { readonly id: string; readonly version: string; readonly progressive: readonly TopologyRecommendationRule[]; readonly dimensions: readonly TopologyRecommendationRule[]; } export interface TopologyRecommendation { readonly recommended: readonly string[]; readonly composition: string; readonly rationale: readonly { readonly topology: string; readonly ruleId: string; readonly reason: string; }[]; } export declare class TopologyRecommendationService { private matches; recommend(rules: TopologyRecommendationRules, signals: TopologyRecommendationSignals): TopologyRecommendation; }