import type { TemplateIR } from "@intentius/chant/import/parser"; import type { TypeScriptGenerator, GeneratedFile } from "@intentius/chant/import/generator"; /** * TypeScript code generator for CloudFormation templates */ export declare class CFGenerator implements TypeScriptGenerator { private typeToClass; private allClassNames; constructor(); /** * Generate TypeScript files from intermediate representation */ generate(ir: TemplateIR): GeneratedFile[]; /** * Collect the set of symbols that will be imported (class names, intrinsics, etc.) */ private collectImportedSymbols; /** * Resolve a logical ID to a safe variable name, suffixing with _ if it conflicts with an imported symbol */ private safeVarName; /** * Generate import statements */ private generateImports; /** * Parse AWS resource type into service and class names. * Returns null for unknown/unsupported types (Custom::*, third-party, etc.) */ private parseResourceType; /** * Check if AWS pseudo-parameters are used */ private needsAWSPseudo; /** * Recursively check for AWS pseudo-parameter references */ private hasAWSPseudo; /** * Sort resources by dependencies */ private sortByDependencies; /** * Generate a parameter declaration */ private generateParameter; /** * Generate a resource declaration, or a comment if the type is unknown */ private generateResource; /** * Generate property object as TypeScript */ private generateProps; /** * Generate a value as TypeScript */ private generateValue; /** * Generate Sub intrinsic as tagged template literal */ private generateSubIntrinsic; /** * Convert AWS pseudo-parameter name to TypeScript */ private pseudoParamName; /** * Property names use spec-native casing (PascalCase for CloudFormation). */ private toPropName; } //# sourceMappingURL=generator.d.ts.map