import { z } from 'zod'; export declare const AutomationMaturityApplicabilitySchema: z.ZodEnum<["applicable", "not_applicable", "unknown"]>; /** * Maturity dimension with explicit applicability so absent capabilities are not silently * awarded partial credit. * * - `applicable` — Qulib has enough signal to compute a real `score`. * - `not_applicable` — The capability does not apply to this repo (e.g. component-test-ratio * with no Cypress detected, auth-test-coverage when no auth signal exists). * `score` is reported but excluded from the overall calculation. * - `unknown` — Qulib could not collect enough signal to score honestly (e.g. zero * interactive elements scanned for test-id hygiene). Excluded from overall. * * Overall score formula (in `computeAutomationMaturity`): * numerator = Σ score_i * weight_i for i ∈ applicable dimensions * denominator = Σ weight_i for i ∈ applicable dimensions * overallScore = round(numerator / denominator) when denominator > 0, else 0 * * Schema fields stay backward compatible: both `applicability` and `reason` are optional. * Existing consumers that don't read them keep working; honest reports populate them. */ export declare const AutomationMaturityDimensionSchema: z.ZodObject<{ dimension: z.ZodEnum<["test-coverage-breadth", "framework-adoption", "test-id-hygiene", "ci-integration", "auth-test-coverage", "component-test-ratio", "api-test-coverage"]>; score: z.ZodNumber; weight: z.ZodNumber; evidence: z.ZodArray; recommendations: z.ZodArray; applicability: z.ZodOptional>; reason: z.ZodOptional; guidance: z.ZodOptional; }, "strip", z.ZodTypeAny, { recommendations: string[]; dimension: "test-coverage-breadth" | "framework-adoption" | "test-id-hygiene" | "ci-integration" | "auth-test-coverage" | "component-test-ratio" | "api-test-coverage"; score: number; weight: number; evidence: string[]; reason?: string | undefined; applicability?: "unknown" | "applicable" | "not_applicable" | undefined; guidance?: string | undefined; }, { recommendations: string[]; dimension: "test-coverage-breadth" | "framework-adoption" | "test-id-hygiene" | "ci-integration" | "auth-test-coverage" | "component-test-ratio" | "api-test-coverage"; score: number; weight: number; evidence: string[]; reason?: string | undefined; applicability?: "unknown" | "applicable" | "not_applicable" | undefined; guidance?: string | undefined; }>; export declare const AutomationMaturitySchema: z.ZodObject<{ computedAt: z.ZodString; repoPath: z.ZodString; overallScore: z.ZodNumber; level: z.ZodNumber; label: z.ZodString; dimensions: z.ZodArray; score: z.ZodNumber; weight: z.ZodNumber; evidence: z.ZodArray; recommendations: z.ZodArray; applicability: z.ZodOptional>; reason: z.ZodOptional; guidance: z.ZodOptional; }, "strip", z.ZodTypeAny, { recommendations: string[]; dimension: "test-coverage-breadth" | "framework-adoption" | "test-id-hygiene" | "ci-integration" | "auth-test-coverage" | "component-test-ratio" | "api-test-coverage"; score: number; weight: number; evidence: string[]; reason?: string | undefined; applicability?: "unknown" | "applicable" | "not_applicable" | undefined; guidance?: string | undefined; }, { recommendations: string[]; dimension: "test-coverage-breadth" | "framework-adoption" | "test-id-hygiene" | "ci-integration" | "auth-test-coverage" | "component-test-ratio" | "api-test-coverage"; score: number; weight: number; evidence: string[]; reason?: string | undefined; applicability?: "unknown" | "applicable" | "not_applicable" | undefined; guidance?: string | undefined; }>, "many">; topRecommendations: z.ZodArray; scoreFormula: z.ZodOptional; }, "strip", z.ZodTypeAny, { label: string; level: number; computedAt: string; repoPath: string; overallScore: number; dimensions: { recommendations: string[]; dimension: "test-coverage-breadth" | "framework-adoption" | "test-id-hygiene" | "ci-integration" | "auth-test-coverage" | "component-test-ratio" | "api-test-coverage"; score: number; weight: number; evidence: string[]; reason?: string | undefined; applicability?: "unknown" | "applicable" | "not_applicable" | undefined; guidance?: string | undefined; }[]; topRecommendations: string[]; scoreFormula?: string | undefined; }, { label: string; level: number; computedAt: string; repoPath: string; overallScore: number; dimensions: { recommendations: string[]; dimension: "test-coverage-breadth" | "framework-adoption" | "test-id-hygiene" | "ci-integration" | "auth-test-coverage" | "component-test-ratio" | "api-test-coverage"; score: number; weight: number; evidence: string[]; reason?: string | undefined; applicability?: "unknown" | "applicable" | "not_applicable" | undefined; guidance?: string | undefined; }[]; topRecommendations: string[]; scoreFormula?: string | undefined; }>; export type AutomationMaturityApplicability = z.infer; export type AutomationMaturityDimension = z.infer; export type AutomationMaturity = z.infer; //# sourceMappingURL=automation-maturity.schema.d.ts.map