/** * Project Context Detection — Scans the project to understand * framework, existing components, design tokens, and conventions. */ import { z } from "zod"; export declare const ProjectContextSchema: z.ZodObject<{ framework: z.ZodEnum<["nextjs", "remix", "vite", "cra", "astro", "unknown"]>; language: z.ZodEnum<["typescript", "javascript"]>; styling: z.ZodObject<{ tailwind: z.ZodBoolean; tailwindVersion: z.ZodOptional; cssModules: z.ZodBoolean; styledComponents: z.ZodBoolean; }, "strip", z.ZodTypeAny, { tailwind: boolean; cssModules: boolean; styledComponents: boolean; tailwindVersion?: string | undefined; }, { tailwind: boolean; cssModules: boolean; styledComponents: boolean; tailwindVersion?: string | undefined; }>; shadcn: z.ZodObject<{ installed: z.ZodBoolean; components: z.ZodArray; config: z.ZodOptional>; }, "strip", z.ZodTypeAny, { installed: boolean; components: string[]; config?: Record | undefined; }, { installed: boolean; components: string[]; config?: Record | undefined; }>; designTokens: z.ZodObject<{ source: z.ZodEnum<["figma", "local", "none"]>; lastSync: z.ZodOptional; tokenCount: z.ZodNumber; }, "strip", z.ZodTypeAny, { source: "figma" | "local" | "none"; tokenCount: number; lastSync?: string | undefined; }, { source: "figma" | "local" | "none"; tokenCount: number; lastSync?: string | undefined; }>; paths: z.ZodObject<{ components: z.ZodString; pages: z.ZodOptional; styles: z.ZodOptional; public: z.ZodOptional; }, "strip", z.ZodTypeAny, { components: string; pages?: string | undefined; styles?: string | undefined; public?: string | undefined; }, { components: string; pages?: string | undefined; styles?: string | undefined; public?: string | undefined; }>; detectedAt: z.ZodString; }, "strip", z.ZodTypeAny, { framework: "unknown" | "nextjs" | "remix" | "vite" | "cra" | "astro"; language: "typescript" | "javascript"; styling: { tailwind: boolean; cssModules: boolean; styledComponents: boolean; tailwindVersion?: string | undefined; }; shadcn: { installed: boolean; components: string[]; config?: Record | undefined; }; designTokens: { source: "figma" | "local" | "none"; tokenCount: number; lastSync?: string | undefined; }; paths: { components: string; pages?: string | undefined; styles?: string | undefined; public?: string | undefined; }; detectedAt: string; }, { framework: "unknown" | "nextjs" | "remix" | "vite" | "cra" | "astro"; language: "typescript" | "javascript"; styling: { tailwind: boolean; cssModules: boolean; styledComponents: boolean; tailwindVersion?: string | undefined; }; shadcn: { installed: boolean; components: string[]; config?: Record | undefined; }; designTokens: { source: "figma" | "local" | "none"; tokenCount: number; lastSync?: string | undefined; }; paths: { components: string; pages?: string | undefined; styles?: string | undefined; public?: string | undefined; }; detectedAt: string; }>; export type ProjectContext = z.infer; export declare function detectProject(root: string): Promise;