import type { MaturityRung } from "@design-parity/core"; import type { CmpCapability } from "./cmp.js"; /** One piece of evidence found during the scan. */ export interface MaturitySignal { /** What kind of evidence, e.g. `"code-connect"`, `"design-map"`, `"tokens"`. */ kind: "code-connect" | "design-map" | "tokens"; /** Repo-relative path to the file that matched. */ path: string; } export interface MaturityResult { rung: MaturityRung; /** Short human label for the rung. */ label: string; /** A Figma Code Connect machine link was found (drives `machine-link`). */ hasCodeConnect: boolean; /** A `design-map.json` manifest was found. */ hasDesignMap: boolean; /** Design-token / design-system files were found (no machine link). */ hasTokens: boolean; /** Every signal found, in scan order. */ signals: MaturitySignal[]; /** * Whether the repo is Compose Multiplatform capable (Principle 6). Convenience * mirror of {@link MaturityResult.cmp}.cmpCapable, hoisted onto the result for * the common `if (result.cmpCapable)` check. Orthogonal to the maturity rung: * a repo at any rung may or may not be CMP-capable. */ cmpCapable: boolean; /** The full CMP capability verdict + its evidence (drives prefer/promote). */ cmp: CmpCapability; } /** * Classify `repoRoot` into a maturity rung. * * Rung 1 wins on any Code Connect signal; rung 2 on a `design-map.json` or a * design-token source; rung 3 is the floor. The token baseline this package * generates is deliberately *not* treated as a rung-2 signal — that is what a * bootstrapped rung-3 repo produces, so detection ignores files it would write * (see {@link BASELINE_ARTIFACTS}). */ export declare function detectMaturity(repoRoot: string): Promise; //# sourceMappingURL=detect.d.ts.map