import type * as Ast from "../ast/ast"; import type { CompilerContext } from "../context/context"; import type { TypeRef } from "./types"; import type { SrcInfo } from "../grammar"; export type StatementContext = { root: SrcInfo; funName: string | null; returns: TypeRef; vars: Map; requiredFields: string[]; }; export declare function emptyContext(root: SrcInfo, funName: string | null, returns: TypeRef): StatementContext; export declare function addVariable(name: Ast.OptionalId, ref: TypeRef, ctx: CompilerContext, sctx: StatementContext): StatementContext; export declare function isLvalue(path: Ast.Id[], ctx: CompilerContext): boolean; export declare function resolveStatements(ctx: CompilerContext): CompilerContext;