import { DamlLfChoice } from "../model/daml-lf-choice.js"; import { DamlLfCompilation } from "../daml-lf-compilation.js"; import { DamlLfDataType } from "../model/daml-lf-data-type.js"; import { DamlLfField } from "../model/daml-lf-field.js"; import { DamlLfTemplate } from "../model/daml-lf-template.js"; import { DamlLfTemplateId } from "../model/daml-lf-template-id.js"; import { TypeConReference } from "../model/type-con-reference.js"; export type DamlLfDataTypeEntry = { readonly reference: TypeConReference; readonly definition: DamlLfDataType; }; export declare class DamlLfSemanticModel { private readonly compilation; constructor(compilation: DamlLfCompilation); /** Returns the templates exposed by the compiled workspace. */ getTemplates(): readonly DamlLfTemplate[]; /** Returns every named data type with its fully qualified identity. */ getDataTypes(): readonly DamlLfDataTypeEntry[]; /** Returns the choices declared on a template identity. */ getTemplateChoicesOrThrow(templateId: DamlLfTemplateId): readonly DamlLfChoice[]; /** Returns the record fields for a resolved type constructor reference. */ getRecordFieldsOrThrow(reference: TypeConReference): readonly DamlLfField[]; /** Returns the complete resolved data type for a type constructor reference. */ getDataTypeOrThrow(reference: TypeConReference): DamlLfDataType; }