import * as binaryen from "./wasm-encoder.js"; import type { IRRecordExpr, IRTuple, IREnumConstructor, IRAccess, IRArray, IRStringInterp } from "../ir/types.js"; import { type CompilationContext, FunctionContext } from "./types.js"; export declare function compileIRRecord(expr: IRRecordExpr, cc: CompilationContext, ctx: FunctionContext): binaryen.ExpressionRef; export declare function compileIRTuple(expr: IRTuple, cc: CompilationContext, ctx: FunctionContext): binaryen.ExpressionRef; export declare function compileIREnumConstructor(expr: IREnumConstructor, cc: CompilationContext, ctx: FunctionContext): binaryen.ExpressionRef; /** * Compile an IR field access expression. * * Uses expr.targetTypeName (pre-resolved from IR) instead of the 20-line * edictTypeName probe chain in the AST path. Dispatches tuple vs record access. */ export declare function compileIRAccess(expr: IRAccess, cc: CompilationContext, ctx: FunctionContext): binaryen.ExpressionRef; export declare function compileIRArray(expr: IRArray, cc: CompilationContext, ctx: FunctionContext): binaryen.ExpressionRef; /** * Compile an IR string interpolation to a chain of string_concat calls. * * Uses IRStringInterpPart.coercionBuiltin (pre-resolved during lowering) * instead of looking up stringInterpCoercions Map at runtime. */ export declare function compileIRStringInterp(expr: IRStringInterp, cc: CompilationContext, ctx: FunctionContext): binaryen.ExpressionRef; //# sourceMappingURL=compile-ir-data.d.ts.map