/** * Entry Point Scoring * * Calculates entry point scores for process detection based on: * 1. Call ratio (existing algorithm - callees / (callers + 1)) * 2. Export status (exported functions get higher priority) * 3. Name patterns (functions matching entry point patterns like handle*, on*, *Controller) * 4. Framework detection (path-based detection for Next.js, Express, Django, etc.) * * This module is language-agnostic - language-specific patterns are defined per language. */ import { SupportedLanguages } from '../../_shared/index.js'; export declare const ENTRY_POINT_PATTERNS: { javascript: RegExp[]; typescript: RegExp[]; python: RegExp[]; java: RegExp[]; kotlin: RegExp[]; csharp: RegExp[]; go: RegExp[]; rust: RegExp[]; c: RegExp[]; cpp: RegExp[]; swift: RegExp[]; php: RegExp[]; ruby: RegExp[]; dart: RegExp[]; vue: any[]; cobol: any[]; }; export interface EntryPointScoreResult { score: number; reasons: string[]; } /** * Calculate an entry point score for a function/method * * Higher scores indicate better entry point candidates. * Score = baseScore × exportMultiplier × nameMultiplier * * @param name - Function/method name * @param language - Programming language * @param isExported - Whether the function is exported/public * @param callerCount - Number of functions that call this function * @param calleeCount - Number of functions this function calls * @returns Score and array of reasons explaining the score */ export declare function calculateEntryPointScore(name: string, language: SupportedLanguages, isExported: boolean, callerCount: number, calleeCount: number, filePath?: string): EntryPointScoreResult; /** * Check if a file path is a test file (should be excluded from entry points) * Covers common test file patterns across all supported languages */ export declare function isTestFile(filePath: string): boolean; /** * Check if a file path is likely a utility/helper file * These might still have entry points but should be lower priority */ export declare function isUtilityFile(filePath: string): boolean;