import { z } from 'zod';
import type { ChallengeScenarioPattern } from '../types/index.js';
export declare const ChallengeScenarioPatternSchema: z.ZodObject<{
    id: z.ZodString;
    category: z.ZodString;
    triggerKeywords: z.ZodArray<z.ZodString>;
    scenario: z.ZodString;
    probability: z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
    }>;
    impact: z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>;
    handlingKeywords: z.ZodArray<z.ZodString>;
    handlingFound: z.ZodString;
    handlingMissing: z.ZodString;
    requiredHandling: z.ZodString;
    dataConsistency: z.ZodString;
    userExperience: z.ZodString;
}, z.core.$strip>;
export type { ChallengeScenarioPattern };
/**
 * Load all challenge scenario patterns from the 3-layer config system.
 */
export declare function loadScenarioPatterns(projectHash?: string): ChallengeScenarioPattern[];
/**
 * Filter patterns that are triggered by content of the spec.
 * A pattern is triggered if ANY of its triggerKeywords appear in specContent,
 * OR if it has no trigger keywords (always-on scenarios).
 */
export declare function getTriggeredPatterns(specContent: string, projectHash?: string): ChallengeScenarioPattern[];
/**
 * Get patterns filtered by category.
 */
export declare function getPatternsByCategory(category: string, projectHash?: string): ChallengeScenarioPattern[];
/**
 * Determine currentHandling label based on whether the spec content
 * includes any of the pattern's handlingKeywords.
 */
export declare function resolveHandlingLabel(pattern: ChallengeScenarioPattern, specContent: string): string;
//# sourceMappingURL=challenge-scenarios-loader.d.ts.map