import { AstNode } from "langium"; import { FunctionCallExpression } from "../../language/generated/ast.js"; import { KumoriServices } from "../../language/kumori.js"; import { Assignable } from "./assignment.js"; import { AstNodeType, TypeSystemError } from "./type.js"; import { Cache } from "../../util/cache.js"; export interface InferContext { svcs: KumoriServices; cache: Cache; assignable: (from: AstNodeType, to: AstNodeType) => ReturnType; } export type InferResult = [AstNodeType, TypeSystemError[]]; export declare function Infer(ctx: InferContext, node: AstNode): InferResult; export declare function inferBuiltinFnCall(ctx: InferContext, node: FunctionCallExpression): InferResult;