/** * Feature-areas compiler floor + capability recognition (hierarchical * areas, v2 feature 01) — extracted from commands/compile.ts so the * fail-closed predicates are unit-testable (design §3.3 last row / §6 * row 15: the CLI must refuse output from a compiler that predates the * `areas` payload, INCLUDING when meta.version is absent entirely). */ /** * The oldest compiler version whose /compile understands the `areas` * payload. When the project declares areas and the responding compiler's * meta.version is BELOW this floor — or the version field is ABSENT * (pre-meta compilers) — the CLI fails BEFORE accepting output: an old * compiler silently ignores the unknown `areas` key and would compile the * project without its area namespaces. */ export declare const FEATURE_AREAS_COMPILER_FLOOR = "0.56.0"; /** Capability names this CLI understands (config `requires: [...]`). */ export declare const RECOGNIZED_CAPABILITIES: ReadonlySet; /** * Semver compare over `major.minor.patch` with prerelease awareness: * `0.56.0-beta` orders BELOW `0.56.0` (SemVer §11) — a prerelease compiler * that predates the final area contract must not pass a floor set at the * release version. Build metadata (`+...`) is ignored per SemVer §10. * Numeric components are compared numerically; a missing component is 0. */ export declare function compareVersions(a: string, b: string): number; /** * Fail-closed floor predicate: true when the reported compiler version * satisfies the feature-areas floor. Absent/empty version → false (never * assume support). */ export declare function compilerSupportsAreas(version: string | undefined | null): boolean; /** * The first `requires:` capability this CLI does not recognize, or * undefined when all are known. An unknown capability means this CLI * predates it — the caller must fail before loading anything. */ export declare function firstUnknownCapability(requires: readonly string[] | undefined): string | undefined; //# sourceMappingURL=compiler-floor.d.ts.map