import { type NormalizedTrustFinding, type TrustPolicyDisposition, type TrustPolicyLevel } from "../trust/evidence.js"; import type { BaselineCatalog } from "./catalog.js"; export declare const ECC_LEAN_PROFILE_ID = "ecc-lean-v1"; export declare const ECC_UPSTREAM_CORE_PROFILE_ID = "ecc-upstream-core-v2.1.0"; export declare const ECC_UPSTREAM_FULL_PROFILE_ID = "ecc-upstream-full-v2.1.0"; export declare const SUPERPOWERS_STANDARD_PROFILE_ID = "superpowers-standard-v1"; export declare const ECC_LEAN_EVIDENCE_COMPONENTS: readonly ["runtime:ecc-installer", "baseline:rules", "agent:planner", "skill:tdd-workflow", "agent:tdd-guide", "agent:build-error-resolver", "agent:code-reviewer", "agent:security-reviewer", "skill:security-review", "skill:verification-loop"]; export declare const ECC_UPSTREAM_CORE_EVIDENCE_COMPONENTS: readonly ["runtime:ecc-installer", "module:rules-core", "module:agents-core", "module:commands-core", "module:hooks-runtime", "module:platform-configs", "module:skill-unified-memory", "module:workflow-quality"]; export interface QualificationProfile { id: string; sourceId: string; origin: "AIH_CURATED" | "UPSTREAM"; selectedComponentIds: readonly string[]; } export declare function qualificationProfile(catalog: BaselineCatalog, profileId: string): QualificationProfile; export interface ComponentQualificationEvidence { id: string; findings: readonly NormalizedTrustFinding[]; dispositions: readonly TrustPolicyDisposition[]; } export interface QualificationReason { componentId: string; level: Exclude; code?: string; detail: string; path?: string; line?: number; value?: string; fingerprint: string; } export interface ComponentInventoryStatus { id: string; discovery: "DISCOVERED"; selection: "SELECTED" | "NOT SELECTED"; authorization: "AUTHORIZED" | "NOT AUTHORIZED"; installation: "NOT INSTALLED"; } export interface ActiveProfileQualification { profile: string; verdict: "PASS" | "REVIEW" | "BLOCK"; selectedComponents: string[]; componentCounts: { pass: number; review: number; block: number; }; findingCounts: { warn: number; review: number; block: number; }; genuineReasons: QualificationReason[]; inventory: ComponentInventoryStatus[]; policyDecision: string; runtimeRestrictions: string[]; } export declare function qualifyActiveProfile(catalog: BaselineCatalog, profile: QualificationProfile, componentEvidence: readonly ComponentQualificationEvidence[]): ActiveProfileQualification;