import { AnalyzedDamlType } from "../analysis/analyzed-daml-type.js"; import { AnalyzedDamlTypeDefinition } from "../analysis/analyzed-daml-type-definition.js"; import { GeneratedNamedTypeFile } from "../emission-model/generated-named-type-file.js"; /** Immutable inputs used to synthesize a representative generated test value. */ export type GeneratedTestSampleContext = { readonly definitions: readonly AnalyzedDamlTypeDefinition[]; readonly namedTypeFiles: readonly GeneratedNamedTypeFile[]; readonly path?: readonly string[]; readonly maximumDepth?: number; readonly typeVariableBindings?: ReadonlyMap; }; /** Emits deterministic, finite TypeScript and ledger JSON source expressions for analyzed DAML values. */ export declare class GeneratedTestSampleEmitter { private static readonly defaultMaximumDepth; private constructor(); static emitTypeScriptExpressionOrThrow(type: AnalyzedDamlType, context: GeneratedTestSampleContext): string; static emitLedgerExpressionOrThrow(type: AnalyzedDamlType, context: GeneratedTestSampleContext): string; /** Emits a TypeScript sample with its immutable, collision-safe import requirements. */ static emitTypeScriptExpressionWithImportsOrThrow(type: AnalyzedDamlType, context: GeneratedTestSampleContext, options?: { readonly imports?: readonly { readonly modulePath: string; readonly exportedName: string; readonly localName: string; readonly typeOnly: boolean; }[]; readonly reservedLocalNames?: readonly string[]; }): { readonly expression: string; readonly imports: readonly { readonly modulePath: string; readonly exportedName: string; readonly localName: string; readonly typeOnly: boolean; }[]; }; private static emitOrThrow; private static emit; private static emitFinite; private static emitPrimitive; private static emitRecord; private static emitVariant; private static emitTypeVariable; private static emitNamedReference; private static wrapNamedTypeSample; private static emitDefinition; private static emitFiniteDefinition; private static emitTypeName; private static withDefinitionBindings; private static resolveTypeVariables; private static descend; private static createDefinitionIndex; private static getRecordPropertyName; private static emitObjectProperty; private static typeVariableKey; private static identityKey; private static referenceKey; private static typeFingerprint; private static uninhabitable; private static describeIdentity; }