import type { AuditorInput, AuditEvent, Severity, AssuranceBreak, EvidenceType } from '../types/events.js'; export interface PipelineContext { input: AuditorInput; events: AuditEvent[]; assumptions: string[]; uncertainties: string[]; metadata: Map; } export interface AnalysisStage { name: string; description: string; analyze(ctx: PipelineContext): Promise | void; } export interface RuleDefinition { id: string; name: string; description: string; severity: Severity; category: 'secrets' | 'vulnerabilities' | 'compliance' | 'infrastructure' | 'access_control'; check: (input: AuditorInput) => RuleResult | null; } export interface RuleResult { severity: Severity; claim: string; attackPath: string[]; affectedAssets: string[]; evidenceRefs: Array<{ type: EvidenceType; pointer: string; }>; assuranceBreak: AssuranceBreak[]; confidence: number; } export declare class SecretsDetectionStage implements AnalysisStage { name: string; description: string; private patterns; analyze(ctx: PipelineContext): void; private createEvent; } export declare class VulnerabilityScanStage implements AnalysisStage { name: string; description: string; analyze(ctx: PipelineContext): void; private parseVulnScan; } export declare class CriticalAssetStage implements AnalysisStage { name: string; description: string; analyze(ctx: PipelineContext): void; private adjustSeverity; } export declare class InfrastructureChangeStage implements AnalysisStage { name: string; description: string; private iacPatterns; analyze(ctx: PipelineContext): void; } export declare class ProductionDeployStage implements AnalysisStage { name: string; description: string; analyze(ctx: PipelineContext): void; } export declare class SecurityPipeline { private stages; constructor(); addStage(stage: AnalysisStage): void; removeStage(name: string): void; getStages(): AnalysisStage[]; execute(input: AuditorInput): Promise; } export { PipelineContext as Context, AnalysisStage as Stage, RuleDefinition as Rule };