/** * @fileoverview Vulnerability Model - Define vulnerability patterns * @module @nahisaho/musubix-security/variant/model * @trace TSK-023, REQ-SEC-VARIANT-001 */ import type { VulnerabilityModel, VulnerabilityCategory, VulnerabilitySeverity } from '../types/variant.js'; /** * CWE ID to Name mappings */ export declare const CWE_DATABASE: Record; /** * All built-in vulnerability models */ export declare const VULNERABILITY_MODELS: VulnerabilityModel[]; /** * Vulnerability Model Manager */ export declare class VulnerabilityModelManager { private models; private enabledModels; constructor(); /** * Get all models */ getAllModels(): VulnerabilityModel[]; /** * Get enabled models */ getEnabledModels(): VulnerabilityModel[]; /** * Get model by ID */ getModel(id: string): VulnerabilityModel | undefined; /** * Enable a model */ enableModel(id: string): boolean; /** * Disable a model */ disableModel(id: string): boolean; /** * Check if model is enabled */ isEnabled(id: string): boolean; /** * Register a custom model */ registerModel(model: VulnerabilityModel): void; /** * Get models by category */ getModelsByCategory(category: VulnerabilityCategory): VulnerabilityModel[]; /** * Get models by CWE */ getModelsByCWE(cweId: number): VulnerabilityModel[]; /** * Get models by severity */ getModelsBySeverity(severity: VulnerabilitySeverity): VulnerabilityModel[]; /** * Get models supporting a language */ getModelsByLanguage(language: string): VulnerabilityModel[]; } /** * Create a new model manager */ export declare function createModelManager(): VulnerabilityModelManager; /** * Default model manager instance */ export declare const defaultModelManager: VulnerabilityModelManager; //# sourceMappingURL=model.d.ts.map