import type { CstNode } from 'chevrotain'; import type { SymbolTable } from './symbol-table.js'; import type { WorkspaceIndex } from '../project/workspace-index.js'; export interface ExpressionTypeContext { symbolTable: SymbolTable; workspaceIndex?: WorkspaceIndex; /** Current position for scope resolution (0-based) */ line: number; /** Current position for scope resolution (0-based) */ column: number; /** The enclosing class name (for `this` resolution) */ enclosingClassName?: string; } /** * Resolve the type of a CST expression node. * Returns the type name string (e.g., "String", "int", "List") or undefined. */ export declare function resolveExpressionType(exprNode: CstNode, context: ExpressionTypeContext): string | undefined; /** * Resolve the type of an identifier at a position by checking scope. * Checks: local variables, parameters, fields, class names. */ export declare function resolveIdentifierType(name: string, context: ExpressionTypeContext): string | undefined; //# sourceMappingURL=expression-type-resolver.d.ts.map