/** * Group Resources by Type * * Groups CloudFormation resources by their AWS service type to enable * batch analysis of similar resources together. */ import type { CloudFormationResource } from '../../types/analysis.types'; export interface ResourceGroup { /** AWS resource type (e.g., 'AWS::Lambda::Function') */ resourceType: string; /** Service name extracted from type (e.g., 'Lambda') */ serviceName: string; /** Resources in this group */ resources: Array<{ resourceId: string; resource: CloudFormationResource; }>; } /** * Group CloudFormation resources by their type */ export declare const groupResourcesByType: (resources: Record) => ResourceGroup[]; /** * Get resource groups that are candidates for batch analysis * (multiple resources of the same type that benefit from comparison) */ export declare const getBatchAnalysisCandidates: (resources: Record, minGroupSize?: number) => ResourceGroup[]; /** * Create batches for analysis, respecting maximum batch size */ export declare const createAnalysisBatches: (groups: ResourceGroup[], maxBatchSize?: number) => Array<{ resourceType: string; serviceName: string; batch: Array<{ resourceId: string; resource: CloudFormationResource; }>; batchIndex: number; totalBatches: number; }>; /** * Get summary statistics for resource grouping */ export declare const getGroupingStats: (resources: Record) => { totalResources: number; uniqueTypes: number; batchableResources: number; batchCandidateGroups: number; };