import { type Environment } from "../../env";
import { type Expr, type RuntimeDestructuring } from "../../expr";
import type { Type } from "../../types/definitions";
import { type Value } from "../../value";
import type { EvaluatorContext } from "../context";
export declare function handleMemberDestructuring({ lhsFunc, lhsFields, rhsFields, rhsValue, rhsType, lhs, env, isCompileTimeOnly, isDestructuringAtomVariable, }: {
    lhsFunc: Expr;
    lhsFields: Expr[];
    rhsFields: {
        label: string;
        type: Type;
    }[];
    rhsValue: Value | undefined;
    rhsType: Type;
    lhs: Expr;
    env: Environment;
    context: EvaluatorContext;
    isCompileTimeOnly: boolean;
    isDestructuringAtomVariable: boolean;
}): {
    env: Environment;
    runtimeDestructurings: RuntimeDestructuring[];
};
export declare function evaluateDestructuringAssignment({ lhs, rhs, env, isCompileTimeOnly, context, }: {
    lhs: Expr;
    rhs: Expr;
    env: Environment;
    isCompileTimeOnly: boolean;
    context: EvaluatorContext;
}): {
    env: Environment;
    runtimeDestructurings: RuntimeDestructuring[];
};
