import { type ScannedSourceFile } from "../utils/source-scanner.js"; export type AppGraphFileKind = "route" | "component" | "style" | "config" | "markup" | "test" | "other"; export interface AppGraphFile { path: string; kind: AppGraphFileKind; imports: string[]; importedBy: string[]; shadcnImports: string[]; hexColors: string[]; cssVariables: string[]; tailwindClasses: string[]; componentRefs: string[]; } export interface AppGraphRoute { path: string; routeId: string; components: string[]; } export interface AppGraphComponent { name: string; path: string; atomicGuess: "atom" | "molecule" | "organism" | "template"; importedBy: string[]; shadcnImports: string[]; } export interface AppGraphPackageMetadata { name?: string; version?: string; dependencies: string[]; devDependencies: string[]; hasShadcn: boolean; hasTailwind: boolean; } export interface AppGraph { version: 1; generatedAt: string; root: string; target: string; summary: { files: number; routes: number; components: number; styleFiles: number; imports: number; shadcnImports: number; cssVariables: number; tailwindClasses: number; }; package: AppGraphPackageMetadata; files: AppGraphFile[]; routes: AppGraphRoute[]; components: AppGraphComponent[]; tokens: { cssVariables: string[]; tailwindUtilities: string[]; }; shadcn: { imports: string[]; components: string[]; }; } export interface BuildAppGraphOptions { projectRoot: string; target?: string; maxFiles?: number; sources?: ScannedSourceFile[]; } export declare function buildAppGraph(options: BuildAppGraphOptions): Promise;