import type { Environment } from "../../env";
import { type Expr, type FnCallExpr } from "../../expr";
import type { FunctionType } from "../../types/definitions";
import type { EvaluatorContext } from "../context";
export declare function evaluateRequires(args: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): FnCallExpr;
export declare function evaluateEnsures(args: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): FnCallExpr;
export declare function evaluateInvariant(args: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): FnCallExpr;
export declare function evaluateGhost(args: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): FnCallExpr;
export declare function evaluateGhostFn({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): FnCallExpr;
export declare function evaluateOld({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): FnCallExpr;
export declare function wrapFunctionBodyWithContracts(body: Expr, fnType: FunctionType): Expr;
