/** * Secret Scanning Tool Detection and Execution * * Handles automatic detection and execution of secret scanning tools: * - gitleaks (native binary, fast) * - secretlint (npm-based, containerized-friendly) */ /** * Secret scanning tool type */ export type SecretScanningTool = 'gitleaks' | 'secretlint'; /** * Tool detection result */ export interface ToolDetection { tool: SecretScanningTool; available: boolean; hasConfig: boolean; defaultCommand: string; } /** * Check if gitleaks config files exist */ export declare function hasGitleaksConfig(cwd?: string): boolean; /** * Check if secretlint config exists */ export declare function hasSecretlintConfig(cwd?: string): boolean; /** * Detect available secret scanning tools and their configurations */ export declare function detectSecretScanningTools(cwd?: string): ToolDetection[]; /** * Determine which tools to run based on configuration and availability */ export declare function selectToolsToRun(scanCommand: string | undefined, cwd?: string): { tool: SecretScanningTool; command: string; }[]; /** * Result of a secret scan */ export interface ScanResult { tool: SecretScanningTool; passed: boolean; duration: number; skipped?: boolean; skipReason?: string; output?: string; error?: string; } /** * Run a secret scanning command */ export declare function runSecretScan(tool: SecretScanningTool, command: string, verbose?: boolean): ScanResult; /** * Format tool name for display */ export declare function formatToolName(tool: SecretScanningTool): string; /** * Show performance warning if scan was slow */ export declare function showPerformanceWarning(tool: SecretScanningTool, duration: number, threshold: number, hasExplicitCommand?: boolean): void; /** * Show error message when secrets are detected */ export declare function showSecretsDetectedError(results: ScanResult[]): void; //# sourceMappingURL=secret-scanning.d.ts.map