/**
 * Framework-Aware Fix Suggestions Registry (PRO-83)
 *
 * Provides framework-specific fix suggestions that transform generic advice
 * into actionable guidance based on the user's detected tech stack.
 *
 * When a Next.js + Prisma project has a SQL injection finding, this registry
 * provides Prisma-specific fixes instead of generic SQL advice.
 *
 * Falls back gracefully to generic fixes (from metadata.ts) when no match.
 */
import type { VulnerabilityCategory } from '../types';
import type { FrameworkContext, DataAccessContext } from '../utils/project-context-builder';
export type FrameworkKey = 'nextjs' | 'express' | 'fastify' | 'nestjs' | 'prisma' | 'drizzle' | 'supabase' | 'mongoose' | 'knex' | 'react' | 'vue';
export interface FrameworkFix {
    /** Step-by-step fix instructions specific to this framework */
    fixSteps: string[];
    /** Optional code example demonstrating the fix */
    codeExample?: string;
}
/**
 * Registry mapping vulnerability categories to framework-specific fixes.
 *
 * Structure: category -> framework -> fix
 *
 * Priority categories (Tier 1):
 * - sql_injection: Fixes vary dramatically by ORM
 * - missing_auth: Framework-specific middleware patterns
 * - xss: React/Vue/vanilla have different approaches
 * - hardcoded_secret: Framework-specific env handling
 * - cors_misconfiguration: Very framework-specific
 */
export declare const FRAMEWORK_FIX_REGISTRY: Partial<Record<VulnerabilityCategory, Partial<Record<FrameworkKey, FrameworkFix>>>>;
/**
 * Get framework-specific fix for a vulnerability category.
 *
 * Priority order for ORM-related categories (sql_injection):
 * 1. ORM (prisma, drizzle, supabase, mongoose, knex)
 * 2. Backend framework (nextjs, express, fastify, nestjs)
 *
 * Priority order for other categories:
 * 1. Frontend framework for XSS (react, vue)
 * 2. Backend framework for auth/cors/secrets
 *
 * @returns FrameworkFix if a match is found, undefined otherwise (falls back to generic)
 */
export declare function getFrameworkFix(category: VulnerabilityCategory, frameworks: FrameworkContext, dataAccess?: DataAccessContext): FrameworkFix | undefined;
//# sourceMappingURL=framework-fixes.d.ts.map