import { Options } from './Options'; export declare class CycloneDXSbomCreator { readonly path: string; readonly options?: Options | undefined; readonly licenseFilenames: Array; readonly licenseContentTypes: { licenseContentType: string; fileExtension: string; }[]; readonly SBOMSCHEMA: string; constructor(path: string, options?: Options | undefined); createBom(pkgInfo: any): Promise; getPackageInfoFromReadInstalled(path?: string): Promise; private listComponents; private addComponent; /** * If the author has described the module as a 'framework', the take their * word for it, otherwise, identify the module as a 'library'. */ private determinePackageType; /** * Uses the SHA1 shasum (if Present) otherwise utilizes Subresource Integrity * of the package with support for multiple hashing algorithms. */ private processHashes; /** * Adds a hash to component. */ private addComponentHash; /** * Adds external references supported by the package format. */ private addExternalReferences; private pushURLToExternalReferences; /** * Performs a lookup + validation of the license specified in the * package. If the license is a valid SPDX license ID, set the 'id' * of the license object, otherwise, set the 'name' of the license * object. */ private getLicenses; /** * Tries to find a file containing the license text based on commonly * used naming and content types. If a candidate file is found, add * the text to the license text object and stop. */ private addLicenseText; /** * Read the file from the given path to the license text object and includes * content-type attribute, if not default. Returns the license text object. */ private readLicenseText; private parsePackageJsonName; }