import { AstNode, WorkspaceCache } from "langium"; import { KumoriServices } from "./kumori.js"; import { AstNodeType } from "./type-system/type.js"; import { AstNodeValue } from "./type-system/value.js"; export type TypeSystemContext = ReturnType; export declare class KumoriTypeSystem { private readonly svcs; constructor(svcs: KumoriServices); NewContext(): { EvalCache: WorkspaceCache; InferenceCache: WorkspaceCache; AssignableCache: WorkspaceCache>>; }; Infer(ctx: TypeSystemContext, node: AstNode): import("./type-system/infer.js").InferResult; Assignable(ctx: TypeSystemContext, from: AstNodeType, to: AstNodeType): import("../util/result.js").Result; Eval(ctx: TypeSystemContext, node: AstNode): import("./type-system/eval.js").EvalResult; Complete(from: AstNodeValue, node: AstNode): import("../util/result.js").Result; }