import { DamlLfChoice } from "./model/daml-lf-choice.js"; import { DamlLfModule } from "./model/daml-lf-module.js"; import { DamlLfPackage } from "./model/daml-lf-package.js"; import { DamlLfTemplate } from "./model/daml-lf-template.js"; import { DamlLfTemplateId } from "./model/daml-lf-template-id.js"; import { DamlLfValueDefinition } from "./model/daml-lf-value-definition.js"; import { ModuleReference } from "./model/module-reference.js"; import { TypeConReference } from "./model/type-con-reference.js"; import { DamlLfSemanticModel } from "./semantics/daml-lf-semantic-model.js"; import { DamlLfWorkspace } from "./daml-lf-workspace.js"; import { ModuleSymbol } from "./symbols/module-symbol.js"; import { TypeSymbol } from "./symbols/type-symbol.js"; export declare class DamlLfCompilation { private readonly workspace; private readonly moduleSymbols; private readonly typeSymbols; private readonly templates; private readonly valueDefinitions; private readonly valueDefinitionIdentities; private constructor(); static createOrThrow(workspace: DamlLfWorkspace): DamlLfCompilation; static createForTemplateGeneration(workspace: DamlLfWorkspace): DamlLfCompilation; getModuleSymbolOrThrow(reference: ModuleReference): ModuleSymbol; getTypeSymbolOrThrow(reference: TypeConReference): TypeSymbol; createSemanticModel(): DamlLfSemanticModel; getValueDefinitionOrThrow(packageId: string, moduleName: string, definitionName: string): DamlLfValueDefinition; getModuleOrThrow(packageId: string, moduleName: string): DamlLfModule; getValueDefinitionIdentityOrThrow(definition: DamlLfValueDefinition): { packageId: string; moduleName: string; definitionName: string; }; getTemplates(): readonly DamlLfTemplate[]; /** Returns the packages available to this compilation. */ getPackages(): readonly DamlLfPackage[]; getTemplateChoicesOrThrow(templateId: DamlLfTemplateId): readonly DamlLfChoice[]; private buildIndexes; private validateReferencesOrThrow; private validateTypeOrThrow; private validateDataTypeOrThrow; private static createModuleKey; private static createTypeKey; private static createDefinitionKey; private getTemplateOrThrow; private static createTemplateKey; }