import { AnalyzedChoice } from "../analysis/analyzed-choice.js"; import { AnalyzedDamlType } from "../analysis/analyzed-daml-type.js"; import { AnalyzedDamlTypeDefinition } from "../analysis/analyzed-daml-type-definition.js"; import { AnalyzedTemplate, AnalyzedTemplateField } from "../analysis/analyzed-template.js"; import { DamlInterfacePackageMetadata } from "../analysis/daml-interface-analyzer.js"; export declare class TypeScriptNameResolver { private readonly templatesByIdentity; private resolvedTemplates; private resolvedModules; private packageMetadata; constructor(templates?: readonly AnalyzedTemplate[], packageMetadata?: ReadonlyMap); /** Prepares a project-wide name table and rejects irreconcilable output collisions. */ prepareTemplatesOrThrow(templates: readonly AnalyzedTemplate[]): void; /** Prepares shared package/module paths for template and named DAML type output. */ prepareProjectOrThrow(templates: readonly AnalyzedTemplate[], typeDefinitions: readonly AnalyzedDamlTypeDefinition[], packageMetadata?: ReadonlyMap): void; /** Resolves the full package/module/entity identity key for a template. */ getTemplateIdentityKey(template: AnalyzedTemplate): string; /** Resolves the generated namespace alias for a template package/module. */ getNamespaceAlias(template: AnalyzedTemplate): string; /** Resolves the generated file path for a template binding. */ getTemplateFilePath(template: AnalyzedTemplate): string; /** Resolves the generated class name for a template binding. */ getTemplateClassName(template: AnalyzedTemplate): string; /** Resolves the output directory shared by a named DAML type package/module. */ getNamedTypeModuleDirectoryPath(packageId: string, moduleName: string): string; /** Resolves the generated namespace alias shared by templates and named DAML types. */ getNamedTypeModuleNamespaceAlias(packageId: string, moduleName: string): string; /** Resolves the generated create-fields type name for a template. */ getCreateFieldsTypeName(template: AnalyzedTemplate): string; /** Resolves the generated created-event type name for a template. */ getCreatedEventTypeName(template: AnalyzedTemplate): string; /** Resolves the generated property name for an original DAML template field. */ getFieldPropertyName(template: AnalyzedTemplate, field: AnalyzedTemplateField): string; /** Resolves the generated constructor parameter for an original DAML template field. */ getFieldConstructorParameterName(template: AnalyzedTemplate, field: AnalyzedTemplateField): string; /** Resolves the generated exercise method name for a DAML choice. */ getChoiceMethodName(template: AnalyzedTemplate, choice: AnalyzedChoice): string; /** Resolves the generated choice payload type name for a template choice. */ getChoiceTypeName(template: AnalyzedTemplate, choice: AnalyzedChoice): string; /** Resolves the generated exercised-event type name for a template choice. */ getExercisedEventTypeName(template: AnalyzedTemplate, choice: AnalyzedChoice): string; /** Resolves the generated parameter property name for a DAML choice. */ getChoiceParameterName(template: AnalyzedTemplate, choice: AnalyzedChoice): string; /** Resolves the full identity key for a DAML choice. */ getChoiceIdentityKey(template: AnalyzedTemplate, choice: AnalyzedChoice): string; /** Resolves the TypeScript type name for a supported DAML-LF type. */ getTypeName(type: AnalyzedDamlType): string; /** Resolves the literal template identifier used by generated helpers. */ getTemplateIdLiteral(template: AnalyzedTemplate): string; private getResolvedTemplate; private getResolvedModule; private getResolvedField; private getResolvedChoice; private resolveFieldNames; private resolveChoiceNames; private resolveNames; private assertDistinctTemplateOutput; private assertDistinctNamespaceAliases; private getModuleDirectory; private getPackageDirectoryBaseName; private getPackageNamespaceLabel; private toPackageNameSegment; private toPackageVersionSegment; private getTemplateFileBaseName; private getPackageModuleIdentityKey; private getPackageModuleIdentityKeyFromParts; private safeTypeName; private safeNamespaceAlias; private safeMemberName; private toPascalCase; private toKebabCase; private shortHash; private describeTemplate; }