import { DamlLfCompilation } from "../daml-lf-compilation.js"; import { DamlLfExpression } from "../model/daml-lf-expression.js"; import { DamlLfTemplateId } from "../model/daml-lf-template-id.js"; import { DamlLfValueDefinition } from "../model/daml-lf-value-definition.js"; import { DamlLfBuiltinDispatch } from "./daml-lf-builtin-dispatch.js"; import { IDamlLfRuntimeValue } from "./daml-lf-runtime-value.js"; import { IDamlLfReplayEffect, IDamlLfTraceSink } from "./daml-lf-trace-sink.interface.js"; export interface IDamlLfReplayEnvironment { readonly offset: string; readonly entrypoint: { readonly kind: "create" | "exercise"; readonly templateId?: { readonly packageId?: string; readonly moduleName?: string; readonly entityName?: string; }; readonly contractId?: string; readonly choice?: string; readonly argument?: unknown; }; readonly contracts?: ReadonlyMap; readonly definitionResolver?: IReplayDefinitionResolver; readonly entrypointExpression?: DamlLfExpression; readonly entrypointBindingMode?: "standard" | "createWrapper" | "exerciseWrapper" | "templateChoice"; readonly observedCreateContractIds?: readonly string[]; } export interface IDamlLfReplayEvaluationResult { readonly value: IDamlLfRuntimeValue; readonly effects: readonly IDamlLfReplayEffect[]; } interface IReplayDefinitionResolver { resolveChoiceDefinitionOrThrow?(templateId: DamlLfTemplateId, choiceName: string): { readonly packageId: string; readonly moduleName: string; readonly definition: DamlLfValueDefinition; readonly frameIdentity?: { readonly packageId: string; readonly moduleName: string; }; readonly replayExpression: DamlLfExpression; readonly replayBindingMode: "standard" | "createWrapper" | "exerciseWrapper" | "templateChoice"; }; } export declare class DamlLfEvaluator { private readonly compilation; private readonly builtinDispatch; private nextFrameNumber; private activeReplayContext?; private readonly semanticModel; constructor(compilation: DamlLfCompilation, builtinDispatch?: DamlLfBuiltinDispatch); getCompilation(): DamlLfCompilation; getBuiltinDispatch(): DamlLfBuiltinDispatch; evaluateValueDefinitionOrThrow(definition: DamlLfValueDefinition, traceSink?: IDamlLfTraceSink): IDamlLfRuntimeValue; evaluateReplayEntrypointOrThrow(definition: DamlLfValueDefinition, environment: IDamlLfReplayEnvironment, traceSink?: IDamlLfTraceSink): IDamlLfReplayEvaluationResult; private evaluateExpressionOrThrow; private createReplayEffects; private createFrame; private resolveExpressionValue; private evaluateReplayExpressionOrThrow; private evaluateUpdateExpressionOrThrow; private resolveEntrypointBindingValues; private evaluateReplayLambdaOrExpressionOrThrow; private hydrateRuntimeValue; private createRecordRuntimeValue; private canProjectRecordAsLedgerValue; private readEmbeddedContractId; private readEmbeddedContractIdArray; private readEmbeddedParty; private readLedgerRecordField; private createLedgerRecordFieldUpdate; private resolveSemanticRecordField; private coerceSemanticFieldValue; private attachSemanticRecordId; private normalizeSemanticRecordValue; private toReplayTemplateId; private readContractId; private unwrapRuntimeValue; private readRuntimeListOrThrow; private matchesBuiltinConstructor; private matchesCaseAlternative; private emitReplayEffect; private isUpdateDrivenEntrypointExpression; private applyFunctionOrThrow; private applyFoldlBuiltinOrThrow; private applyFoldrBuiltinOrThrow; private deriveFrame; } export {};