import { ScannerModule, Finding, Severity } from '../types'; export interface ChannelDefinition { id: string; name: string; /** Keywords that indicate this channel is used */ detectPatterns: RegExp[]; /** * Code-level evidence patterns that confirm actual integration (imports, * config, API calls). If set, the channel is only confirmed when BOTH a * detectPattern matches AND a codeEvidencePattern matches in source files. * Without code evidence the finding is downgraded to info. */ codeEvidencePatterns?: RegExp[]; /** Defense patterns that should exist if this channel is active */ defensePatterns: { pattern: RegExp; desc: string; }[]; /** Minimum defenses needed for "partial" */ partialThreshold: number; /** Minimum defenses needed for "full" */ fullThreshold: number; /** Override undefended severity (default: high) */ undefendedSeverity?: Severity; } export interface ChannelAuditResult { channelId: string; channelName: string; detected: boolean; detectedIn: string[]; defenseCount: number; defenses: string[]; status: 'undefended' | 'partial' | 'defended'; } export declare function detectChannels(content: string, filePath: string): { channelId: string; detected: boolean; }[]; export declare function checkChannelDefenses(content: string, channelId: string): { defenses: string[]; }; export declare function generateChannelFindings(auditResults: ChannelAuditResult[], targetPath: string): Finding[]; export declare const channelSurfaceAuditor: ScannerModule; //# sourceMappingURL=channel-surface-auditor.d.ts.map