import type { TypeMatcher } from '../service/typeMatcher.js'; import type { ApexMethod, ApexType } from './ApexMethod.js'; export interface ResolvedType { apexType: ApexType; typeName: string; elementType?: string; } export declare function classifyApexType(typeName: string, matchers: TypeMatcher[]): ApexType; export declare class TypeRegistry { private methodTypeTable; private variableScopes; private classFields; private matchers; constructor(methodTypeTable: Map, variableScopes: Map>, classFields: Map, matchers: TypeMatcher[]); isNumericOperand(methodName: string, expression: string): boolean; isNumericReturn(methodName: string): boolean; resolveType(methodName: string, expression?: string): ResolvedType | null; private resolveMethodReturnType; private resolveMethodCallExpression; private resolveDottedExpression; private resolveVariable; private findVariableType; private classifyType; }