import { CryptoCfg } from '../../CryptoCfg'; import { CryptoAlgorithmJobResponse } from "../../CryptographyTypes"; import { BaseCryptographyScanner } from "../../BaseCryptographyScanner"; import { FileCryptographyResultCollector } from "../../Helper/ResultCollector/File/FileCryptographyResultCollector"; /** * A class responsible for scanning files for cryptographic items. */ export declare class FileAlgorithmScanner extends BaseCryptographyScanner, Array> { private readonly DEFAULT_CRYPTO_ALGORITHM_RULE_FILENAME; /** * Constructs a new CryptographyScanner. * @param cryptoCfg The cryptographic configuration. * @param resultCollector cryptography results collector */ constructor(cryptoCfg: CryptoCfg, resultCollector: FileCryptographyResultCollector); /** Builds a collection of cryptographic algorithm analysis jobs from an array of files. This method loads cryptography rules, creates required mappers, and initializes job objects for each file that will be used for crypto pattern detection. @param files An array of file paths to analyze for cryptographic algorithm usage. @returns A promise that resolves to an array of job objects configured for crypto analysis. */ private buildJobs; /** * Scans an array of files for cryptographic items. * @param files An array of file paths to scan. * @returns A promise that resolves to an ILocalCryptographyResponse. */ scan(files: Array): Promise>; /** * Scans a folder for cryptographic items. * @param path The path of the folder to scan. * @returns A promise that resolves to an ILocalCryptographyResponse. * @throws Error if the specified path is not a directory. */ scanFolder(path: string): Promise>; /** * Loads custom cryptographic rules from a file. * @returns A promise that resolves to the loaded rules. */ private loadRules; }