import { type Environment } from "../../env";
import { type Expr, type FnCallExpr } from "../../expr";
import type { EnumType, Type } from "../../types/definitions";
import type { EvaluatorContext } from "../context";
export declare function createOptionType(innerType: Type, env: Environment, context: EvaluatorContext): {
    optionType: EnumType;
    env: Environment;
};
export declare function evaluateYoDecrRc({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoIncrRc({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoIncrRcAtomic({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoDecrRcAtomic({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoRcOwn({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoDynVtableDrop({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoDynVtableDup({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoSomeTypeDrop({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoSomeTypeDup({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoIsoExtract({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoIsoDispose({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoDropArrayElement({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoDupArrayElement({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoDropTupleElement({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
export declare function evaluateYoDupTupleElement({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): Expr;
