export type OWASPCategory = 'A01-broken-access-control' | 'A02-cryptographic-failures' | 'A03-injection' | 'A04-insecure-design' | 'A05-security-misconfiguration' | 'A06-vulnerable-components' | 'A07-auth-failures' | 'A08-data-integrity' | 'A09-logging' | 'A10-ssrf';
export type FeatureSecurityProfile = 'public-api' | 'auth' | 'db-access' | 'file-upload' | 'html-render' | 'internal-service' | 'pii-data';
export type InsecurePatternSeverity = 'critical' | 'high' | 'medium' | 'low';
export type AuthMechanism = 'jwt' | 'oauth2' | 'api-key' | 'session' | 'basic' | 'none';
export type ComplianceFramework = 'hipaa' | 'pci-dss' | 'fedramp' | 'soc2' | 'gdpr';
export type ZeroTrustMaturityLevel = 'none' | 'basic' | 'intermediate' | 'advanced';
export type SecurityGrade = 'A' | 'B' | 'C' | 'D' | 'F';
export type StrideCategory = 'spoofing' | 'tampering' | 'repudiation' | 'information-disclosure' | 'denial-of-service' | 'elevation-of-privilege';
export type SecurityCheckSubcommand = 'analyze' | 'score' | 'drift';
export interface SecurityCriterion {
    owasp: OWASPCategory;
    description: string;
    rationale: string;
    verificationStatus: 'missing' | 'present' | 'partial';
}
export interface InsecurePattern {
    id: string;
    name: string;
    regex: string;
    severity: InsecurePatternSeverity;
    remediation: string;
}
export interface DetectedViolation {
    patternId: string;
    file: string;
    line: number;
    severity: InsecurePatternSeverity;
    remediation: string;
}
export interface SecurityScore {
    score: number;
    grade: SecurityGrade;
    breakdown: Record<string, number>;
}
export interface SecurityReport {
    specId: string;
    score: SecurityScore;
    gaps: SecurityCriterion[];
    violations: DetectedViolation[];
    recommendations: string[];
}
export interface StrideThreat {
    category: StrideCategory;
    scenario: string;
    cvssRange: string;
    mitigation: string;
}
export interface SecuritySection {
    owaspCategories: OWASPCategory[];
    criteria: string[];
    authMechanism?: AuthMechanism;
    stridThreats?: StrideThreat[];
    complianceItems?: string[];
}
export interface SecurityCheckInput {
    specId: string;
    projectId: string;
    subcommand?: SecurityCheckSubcommand;
    codeFiles?: string[];
}
export interface ComplianceDetectionResult {
    frameworks: ComplianceFramework[];
    criteria: string[];
    principles: string[];
}
export interface SastToolDetection {
    tool: string;
    configured: boolean;
    configFile?: string;
}
export interface ZeroTrustDetection {
    maturityLevel: ZeroTrustMaturityLevel;
    indicators: string[];
    roadmapPhases?: string[];
}
export interface SupplyChainDetection {
    hasSlsa: boolean;
    hasSbom: boolean;
    hasSigning: boolean;
    hasDependencyPinning: boolean;
    details: string[];
}
export interface SecurityPatternsConfig {
    insecurePatterns: InsecurePattern[];
    owaspCriteriaByProfile: Record<string, {
        owasp: string;
        description: string;
        rationale: string;
    }[]>;
    authMechanismCriteria: Record<string, string[]>;
    strideThreats: Record<string, {
        category: string;
        scenario: string;
        cvssRange: string;
        mitigation: string;
    }[]>;
    complianceCriteria: Record<string, string[]>;
}
//# sourceMappingURL=security.d.ts.map