/**
 * '... = ... ; ...' expression
 */
export class AssignExpr extends ChainExpr {
    /**
     * @param {Site} site
     * @param {Site} semicolonSite
     * @param {DestructExpr} nameType
     * @param {Expr} upstreamExpr
     * @param {Expr} downstreamExpr
     */
    constructor(site: Site, semicolonSite: Site, nameType: DestructExpr, upstreamExpr: Expr, downstreamExpr: Expr);
    /**
     * @type {Site}
     */
    semicolonSite: Site;
    /**
     * @private
     * @readonly
     * @type {DestructExpr}
     */
    private readonly _nameType;
}
export type Site = import("@helios-lang/compiler-utils").Site;
export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI;
export type EvalEntity = import("../typecheck/index.js").EvalEntity;
import { ChainExpr } from "./ChainExpr.js";
import { DestructExpr } from "./DestructExpr.js";
import { Expr } from "./Expr.js";
//# sourceMappingURL=AssignExpr.d.ts.map