/** * Component extractor. * * Classifies a symbol as a React component using semantics only: * - PascalCase name, AND * - returns JSX (directly, or via a memo()/forwardRef() wrapper), OR * - is a class extending React.Component. * Folder/file names are never consulted. */ import { type SourceFile } from 'ts-morph'; import type { ComponentAsset, Extractor, ExtractionContext } from '../core/types'; export declare class ComponentExtractor implements Extractor { name: string; produces: 'component'; extract(file: SourceFile, ctx: ExtractionContext): ComponentAsset[]; private build; private buildClass; }