/** * Template statistics and CloudFormation limit checks (Phase 1 of #90) * * CloudFormation hard limits: * - 500 resources per stack * - 200 outputs per stack * - 1MB (1,048,576 bytes) template body size * * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html */ export interface TemplateStats { resourceCount: number; resourceLimit: number; resourcePercent: number; outputCount: number; outputLimit: number; outputPercent: number; templateBytes: number; templateLimit: number; templatePercent: number; resourceTypes: Record; } export interface StatsWarning { message: string; current: number; limit: number; percent: number; } /** * CloudFormation service quotas — individual constants for true immutability. * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html */ /** @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html - "Resources" */ export declare const CFN_RESOURCE_LIMIT: 500; /** @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html - "Outputs" */ export declare const CFN_OUTPUT_LIMIT: 200; /** @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html - "Template body size" */ export declare const CFN_TEMPLATE_BYTES_LIMIT: 1048576; export declare const CFN_LIMITS: { readonly resources: 500; readonly outputs: 200; readonly templateBytes: 1048576; }; /** Warn when usage reaches this fraction of the CloudFormation limit. */ export declare const WARNING_THRESHOLD: 0.8; /** * Compute statistics for a resolved CloudFormation template. */ export declare function computeStats(template: any, serialized?: string): TemplateStats; /** * Check stats against 80% warning thresholds. Returns warnings (if any). */ export declare function checkThresholds(stats: TemplateStats): StatsWarning[]; /** * Format stats as a human-readable report string. */ export declare function formatStatsReport(stats: TemplateStats): string; //# sourceMappingURL=stats.d.ts.map