/** * React Component Scanner Module * Scans TypeScript/JavaScript files for React components and extracts metadata * * ## Migration: TypeScript Compiler API → tree-sitter * * All `ts.Node`/`ts.SourceFile`/`ts.SyntaxKind`/`ts.createProgram` usage replaced with * tree-sitter `ASTNode` and adapterBridge utilities. `import * as ts from 'typescript'` removed. * TypeChecker-based prop extraction is a documented capability regression (plan Step 2.5). */ import { ComponentMetadata, FunctionMetadata } from './types.js'; /** * Configuration options for component scanning */ export interface ComponentScannerOptions { includeTests?: boolean; includeStories?: boolean; extractProps?: boolean; extractHooks?: boolean; extractImports?: boolean; detectComplexity?: boolean; } /** * Result of scanning a file for components */ export interface ComponentScanResult { filePath: string; components: ComponentMetadata[]; imports: ComponentImport[]; fileHash?: string; parseErrors?: string[]; } /** * Component import information */ interface ComponentImport { name: string; path: string; isDefault: boolean; } /** * Scan a single file for React components */ export declare function scanFile(filePath: string, options?: ComponentScannerOptions): Promise; /** * Scan multiple files for React components */ export declare function scanFiles(filePaths: string[], options?: ComponentScannerOptions, progressCallback?: (current: number, total: number) => void): Promise; /** * Create a component dependency tree from scan results */ export declare function buildComponentTree(scanResults: ComponentScanResult[]): Map>; /** * Convert component metadata to function metadata for indexing */ export declare function componentToFunctionMetadata(component: ComponentMetadata): FunctionMetadata; export {}; //# sourceMappingURL=componentScanner.d.ts.map