import { Exp, ExpMeta } from "../../exp"; import { Core } from "../../core"; import { Ctx } from "../../ctx"; import { Value } from "../../value"; import * as Exps from "../../exps"; export declare class ImFn extends Exp { meta: ExpMeta; names: Array<{ field_name: string; local_name: string; }>; ret: Exps.Fn; constructor(names: Array<{ field_name: string; local_name: string; }>, ret: Exps.Fn, meta: ExpMeta); free_names(bound_names: Set): Set; subst(name: string, exp: Exp): ImFn; check(ctx: Ctx, t: Value): Core; fn_args_repr(): Array; fn_ret_repr(): string; repr(): string; }