/**
 * Improvement Recommendations Engine (W1.11 / Trademark axis-1, axis-2, axis-3
 * remediations of F-NEW-PRODUCT-AGENT-VISIBILITY-CLUSTER-2026-05-12).
 *
 * Thomas Layer 0 2026-05-12 (trademark commitment): "anything that brings a
 * score down will be sent back to the user to help them improve — whether
 * it's training for humans because they are consistently putting PHI into
 * it or the actual build of an agent itself. We give criteria."
 *
 * Maps findings from each of the three trust-score axes into a unified
 * Recommendation shape with axis-specific remediation types:
 *
 *   Build axis (W1.8)        OWASP Agentic findings -> wire-hook /
 *                            verify-plugin-integrity / swap-provider /
 *                            reduce-blast-radius / add-pack-rule
 *   Runtime axis (W3.4)      regulatory pack denial / approval-required ->
 *                            add-pack-rule / cite-clause
 *   Human axis (W3.4)        recurring operator-side drift (e.g. PHI
 *                            ingestion) -> assign-training
 *
 * Pure helpers; no IO. The dashboard layer surfaces these as the "How to
 * improve your trust score" feature.
 *
 * @connexum/ai-governance  F-NEW-PRODUCT-TRUST-IMPROVEMENT-RECOMMENDATIONS
 */
import type { ScanReport } from './owasp-agentic-scanner.js';
export type RecommendationAxis = 'build' | 'runtime' | 'human';
export type RecommendationKind = 'add-pack-rule' | 'wire-hook' | 'verify-plugin-integrity' | 'swap-provider' | 'reduce-blast-radius' | 'enable-isolation' | 'cite-regulatory-clause' | 'assign-training';
export type Severity = 'LOW' | 'MED' | 'HIGH' | 'CRIT';
export interface Recommendation {
    axis: RecommendationAxis;
    severity: Severity;
    kind: RecommendationKind;
    headline: string;
    detail: string;
    /** Specific actionable next-step pointer (doc URL, training id, "Apply" hint). */
    actionHint: string;
    /** Origin reference so we can re-link the recommendation back to the source finding. */
    sourceRef: string;
}
export interface RecommendationSet {
    agentId: string;
    recommendations: Recommendation[];
    countsByAxis: Record<RecommendationAxis, number>;
    /** Sum of severity-weighted score-recovery potential if all recommendations are acted on. */
    potentialScoreGain: number;
}
/**
 * Synthesize recommendations from an OWASP scan report (build axis).
 */
export declare function buildAxisRecommendations(agentId: string, scan: ScanReport): Recommendation[];
export interface RuntimeFindingInput {
    packId: string;
    /** Pack-clause / classifier id (e.g. 'phi-recipient-allowlist'). */
    checkId: string;
    /** Severity of the runtime denial. */
    severity: Severity;
    /** Regulatory citation if applicable (e.g. 'HIPAA 164.502(e)'). */
    citation?: string;
    /** Tool / action denied. */
    toolName: string;
    /** Human-readable reason from the verdict. */
    reason: string;
    count?: number;
}
/**
 * Synthesize recommendations from runtime denials / approval-required events
 * (runtime axis). Each input -> one Recommendation with add-pack-rule or
 * cite-regulatory-clause depending on whether a citation is present.
 */
export declare function runtimeAxisRecommendations(agentId: string, findings: ReadonlyArray<RuntimeFindingInput>): Recommendation[];
export type HumanDriftKind = 'phi-ingestion' | 'out-of-scope-prompt' | 'override-abuse' | 'repeated-denial-bypass' | 'low-review-responsiveness';
export interface HumanFindingInput {
    /** Stable id of the human operator (SSO sub). */
    operatorId: string;
    /** What pattern they're drifting on. */
    kind: HumanDriftKind;
    /** Severity bucket. */
    severity: Severity;
    /** Count of occurrences over the analysis window. */
    count: number;
    /** Optional period summary (e.g. "30d"). */
    windowLabel?: string;
}
/**
 * Synthesize recommendations from operator-side drift findings (human axis).
 * Each finding -> assign-training Recommendation pointing at a specific
 * training topic.
 */
export declare function humanAxisRecommendations(agentId: string, findings: ReadonlyArray<HumanFindingInput>): Recommendation[];
/**
 * Bundle recommendations from all three axes into a single RecommendationSet.
 * The dashboard renders this as the "How to improve your trust score" panel.
 */
export declare function buildRecommendationSet(input: {
    agentId: string;
    buildScan?: ScanReport;
    runtimeFindings?: ReadonlyArray<RuntimeFindingInput>;
    humanFindings?: ReadonlyArray<HumanFindingInput>;
}): RecommendationSet;
//# sourceMappingURL=improvement-recommendations.d.ts.map