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 ImPi extends Exp { meta: ExpMeta; field_name: string; local_name: string; arg_t: Exp; ret_t: Exps.Pi | Exps.ImPi; constructor(field_name: string, local_name: string, arg_t: Exp, ret_t: Exps.Pi | Exps.ImPi, meta: ExpMeta); free_names(bound_names: Set): Set; subst(name: string, exp: Exp): ImPi; infer(ctx: Ctx): { t: Value; core: Core; }; im_pi_args_repr(): Array; pi_args_repr(): Array; pi_ret_t_repr(): string; repr(): string; }