import { Core } from "../core"; import { Exp, ExpMeta } from "../exp"; import { Ctx } from "../ctx"; import { Value } from "../value"; export declare class Type extends Exp { meta?: ExpMeta; constructor(meta?: ExpMeta); free_names(bound_names: Set): Set; subst(name: string, exp: Exp): this; infer(ctx: Ctx): { t: Value; core: Core; }; repr(): string; }