import { AST, ASTNode } from "../ast/types.js"; import { ICompileError } from "../errors/IError.js"; import { Bindings } from "../reducer/Stack.js"; import { result } from "../utility/result.js"; import { AnalysisContext } from "./context.js"; import { AnyTypedExpressionNode, AnyTypedStatementNode, AnyTypedUnitTypeNode, KindTypedNode, TypedAST, TypedASTNode } from "./types.js"; export declare function analyzeKind(node: ASTNode, kind: Kind, context: AnalysisContext): KindTypedNode; export declare function analyzeOneOfKinds(node: ASTNode, kinds: Kind[], context: AnalysisContext): KindTypedNode; export declare function analyzeExpression(node: ASTNode, context: AnalysisContext): AnyTypedExpressionNode; export declare function analyzeUnitType(node: ASTNode, context: AnalysisContext): AnyTypedUnitTypeNode; export declare function analyzeStatement(node: ASTNode, symbols: AnalysisContext): AnyTypedStatementNode; export type TypedASTResult = result; export declare function analyzeAst(ast: AST, builtins?: Bindings): result; //# sourceMappingURL=index.d.ts.map