import EventEmitter from 'eventemitter3'; import { ScannerCfg } from './ScannerCfg'; import { ContentScannerInput, ScannerComponent, ScannerInput } from "./ScannerTypes"; export declare class Scanner extends EventEmitter { private readonly SCAN_FOLDER_NAME; private scannerCfg; private workDirectory; private resultFilePath; private wfpFilePath; private obfuscateMapFilePath; private obfuscateMap; private scanRoot; private scannerId; private wfpProvider; private dispatcher; private finishPromise; private scannerInput; private scanFinished; private processingNewData; private processedFiles; private running; private filesToScan; private responseBuffer; private filesNotScanned; private settings; private wfpWriteStream; private resultWriteStream; constructor(scannerCfg?: ScannerCfg); private getScanFolderId; private removeWorkingDir; private applyFileSnippetConfig; init(): void; setWorkDirectory(workDirectory: string): void; getWorkDirectory(): string; cleanWorkDirectory(): void; scan(scannerInput: Array): Promise; /** * Scans the provided content. * * @param {ContentScannerInput} contentScannerInput - The input containing content and file name. * @param {string} contentScannerInput.content - The content to be scanned. * @param {string} contentScannerInput.key - Unique key to be referenced on scan result . * @returns {Promise} - The scan result as a `ScannerComponent` or `null` if no content is provided. * * @throws {Error} - Throws an error if there is an issue during the scan. * * */ scanContents(contentScannerInput: ContentScannerInput): Promise; getScannerId(): string; stop(): void; isRunning(): boolean; private setWinnowerListeners; private setDispatcherListeners; private appendFilesToNotScanned; private insertIntoBuffer; private isBufferEmpty; private bufferReachedLimit; private deobfuscationResponses; private bufferToFiles; private finishJob; private finishScan; /** * Convert NDJSON file to a single JSON object using streams * Reads NDJSON line by line and writes formatted JSON */ private convertNDJSONToJSON; private reportLog; private errorHandler; private createOutputFiles; private initializeWriteStreams; private closeWriteStreams; private appendOutputFiles; private isValidInput; private abort; }