/**
 * @import { Site, Word } from "@helios-lang/compiler-utils"
 * @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI
 * @typedef {import("../typecheck/index.js").EvalEntity} EvalEntity
 * @typedef {import("../typecheck/index.js").Type} Type
 */
/**
 * Struct literal constructor
 */
export class StructLiteralExpr extends Expr {
    /**
     * @param {ToIRContext} _ctx
     * @param {Site} site
     * @param {string} path
     * @param {SourceMappedStringI[]} fields
     */
    static toIRInternal(_ctx: ToIRContext, site: Site, path: string, fields: SourceMappedStringI[]): import("@helios-lang/ir/types/parse/SourceMappedString.js").SourceMappedStringI;
    /**
     * @param {Expr} typeExpr
     * @param {StructLiteralField[]} fields
     */
    constructor(typeExpr: Expr, fields: StructLiteralField[]);
    /**
     * @private
     * @readonly
     * @type {Expr}
     */
    private readonly _typeExpr;
    /**
     * @private
     * @readonly
     * @type {StructLiteralField[]}
     */
    private readonly _fields;
    /**
     * @returns {boolean}
     */
    isNamed(): boolean;
}
export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI;
export type EvalEntity = import("../typecheck/index.js").EvalEntity;
export type Type = import("../typecheck/index.js").Type;
import { Expr } from "./Expr.js";
import { ToIRContext } from "../codegen/index.js";
import type { Site } from "@helios-lang/compiler-utils";
import { StructLiteralField } from "./StructLiteralField.js";
//# sourceMappingURL=StructLiteralExpr.d.ts.map