import { DamlLfCompilation } from "../../daml-lf/daml-lf-compilation.js"; import { DarSourceBundle } from "../../daml-lf/container/dar-source-bundle.js"; import { DamlLfExpression } from "../../daml-lf/model/daml-lf-expression.js"; import { SourceMappingPrecision } from "./source-mapping-precision.js"; export interface IndexedDefinitionSource { packageId: string; moduleName: string; definitionName: string; path: string; startLine: number; startColumn: number; endLine: number; endColumn: number; precision: SourceMappingPrecision; } export interface IndexedExecutableSource extends IndexedDefinitionSource { entrypointKind?: "create" | "exercise"; templateName?: string; choiceName?: string; choiceArgumentFieldName?: string; } export interface IndexedExpressionSource { path: string; startLine: number; startColumn: number; endLine: number; endColumn: number; } export declare class SourceIndexedCompilation { readonly compilation: DamlLfCompilation; private readonly definitionSources; private readonly moduleSources; private readonly expressionSources; private constructor(); static createOrThrow(compilation: DamlLfCompilation, sourceBundles: readonly DarSourceBundle[]): SourceIndexedCompilation; getDefinitionSourceOrThrow(packageId: string, moduleName: string, definitionName: string): IndexedExecutableSource; getModuleSourceOrThrow(packageId: string, moduleName: string): IndexedDefinitionSource; getExecutableSources(): readonly IndexedExecutableSource[]; findExecutableSourceAt(path: string, line: number, column: number): IndexedExecutableSource | undefined; getExpressionSource(expression: DamlLfExpression): IndexedExpressionSource | undefined; private containsSourceLocation; private compareSourceSpecificity; private static createDefinitionKey; private static createModuleKey; }