import { type PackageJson } from "./detect-tree.js"; import type { KnownKit } from "./registry.js"; import type { DetectedKit } from "./inventory.js"; /** Where a package keeps its components, checked rather than assumed. */ export declare function componentRootsIn(packageRoot: string): Promise; /** * The project IS the design system. * * A kit's own repository is the case every signal above misses: nothing depends * on it, no marker file names it, and it is not a package inside somebody * else's workspace. It is the kit, and a defect found in its own docs or * example app belongs in `src/atoms` rather than wherever the defect was * photographed. For the maintainers of a design system this is the only case * that ever applies, so missing it would make the whole verb useless to them. * * The discriminator against an ordinary application that happens to have a * `components` directory is publication: a library declares an entry point for * consumers (`main`, `module`, or `exports`) and an application does not. */ export declare function selfKit(projectDir: string, pkg: PackageJson | null): Promise; /** * A design system that lives in this repository but is nobody's published * package: a `packages/ui` the apps import. Found by asking which workspace * package the application source actually imports from, which is a stronger * signal than any name convention, and the only one that works when the kit is * called something unguessable. */ export declare function localKits(repoRoot: string, appImports: Map): Promise; /** A vendored kit's component directory, when the marker file promised one. */ export declare function vendoredRoots(repoRoot: string, kit: KnownKit): Promise;