import { Ctx } from "../../ctx"; import { Exp } from "../../exp"; import { Core } from "../../core"; import { Value } from "../../value"; import { ReadbackEtaExpansion } from "../../value"; export declare abstract class ClsValue extends Value implements ReadbackEtaExpansion { instanceofExpsClsValue: boolean; constructor(); abstract field_names: Array; abstract readback(ctx: Ctx, t: Value): Core | undefined; abstract check_properties(ctx: Ctx, properties: Map): Map; abstract dot_value(target: Value, field_name: string): Value; abstract dot_type(target: Value, field_name: string): Value; abstract eta_expand_properties(ctx: Ctx, value: Value): Map; readback_eta_expansion(ctx: Ctx, value: Value): Core; abstract extend_ctx(ctx: Ctx, renamings: Array<{ field_name: string; local_name: string; }>): { ctx: Ctx; renamings: Array<{ field_name: string; local_name: string; }>; }; abstract apply(arg: Value): ClsValue; }