import type { SourceFile } from "ts-morph"; export interface DsComponentContext { componentsModule: string | null; componentInventory: Array<{ name: string; module: string; }>; } /** * Determines whether a JSX tag is a design-system component. * * Returns true iff: * - `tagName` is PascalCase (starts with uppercase letter), AND * - EITHER: * - `tagName` is in `ctx.componentInventory` by name, OR * - `sourceFile` has an import from `ctx.componentsModule` that includes `tagName` * * Lowercase tags (raw HTML) always return false. * Local PascalCase components not from the DS return false. */ export declare function isDsComponent(tagName: string, sourceFile: SourceFile, ctx: DsComponentContext): boolean;