/**
 * Singleton secret scanner service with caching, concurrency control,
 * and availability gating.
 *
 * Wraps the low-level TruffleHog process-spawning logic from
 * `secret-scanner.ts` to prevent resource exhaustion in containers:
 *
 * - **Caching**: Content-hash keyed results avoid re-scanning identical
 *   content within a TTL window.
 * - **In-flight deduplication**: Concurrent scans of identical content
 *   coalesce into a single TruffleHog invocation.
 * - **Concurrency control**: A promise-based semaphore limits the number
 *   of concurrent TruffleHog child processes.
 * - **Availability gating**: When TruffleHog is not installed, all scans
 *   immediately return empty findings without spawning processes or
 *   logging errors.
 */
import { type SecretScanOptions, type SecretScanResult } from "./secret-scanner.js";
/** Default timeout for a single TruffleHog scan (ms). */
export declare const DEFAULT_SCAN_TIMEOUT_MS = 10000;
/** Maximum number of cached scan results. */
export declare const MAX_CACHE_SIZE = 200;
/** Time-to-live for cached scan results (ms). */
export declare const CACHE_TTL_MS: number;
/** Maximum concurrent TruffleHog child processes. */
export declare const MAX_CONCURRENCY = 2;
/**
 * Scans text content for secrets using TruffleHog, with caching,
 * concurrency control, and availability gating.
 *
 * Drop-in replacement for the original `scanContentForSecrets` from
 * `secret-scanner.ts` — same signature, same return type.
 *
 * @param content - The text content to scan for secrets
 * @param options - Scan configuration options
 * @returns Promise resolving to scan results with any findings
 */
export declare function scanContentForSecrets(content: string, options?: SecretScanOptions): Promise<SecretScanResult>;
/**
 * Checks if TruffleHog is available on the system (cached after first call).
 *
 * @returns Promise resolving to true if TruffleHog is installed
 */
export declare function isTrufflehogAvailable(): Promise<boolean>;
/**
 * Disposes the singleton scanner service, clearing all caches and
 * resetting the availability flag.
 *
 * Primarily useful in tests or graceful shutdown.
 */
export declare function disposeSecretScanner(): void;
//# sourceMappingURL=secret-scanner-service.d.ts.map