import type { PackumentVersion, PackageJSON, WorkspacesPackageJSON, Contact, AbbreviatedManifestDocument } from "@nodesecure/npm-types"; type WithRequired = T & { [P in K]-?: T[P]; }; export type NonOptionalPackageJSONProperties = "dependencies" | "devDependencies" | "scripts" | "gypfile"; /** * @see https://www.nerdycode.com/prevent-npm-executing-scripts-security/ */ export declare const kUnsafeNPMScripts: Set; export type ManifestManagerDefaultProperties = Required>; export interface ManifestManagerOptions { /** * Optional absolute location (directory) to the manifest */ location?: string; } export type ManifestManagerDocument = PackageJSON | WorkspacesPackageJSON | PackumentVersion; export type LocatedManifestManager = Record> = ManifestManager & { location: string; }; export declare class ManifestManager = Record> { static Default: Readonly; /** * Type guard to check if a ManifestManager instance has a location */ static isLocated>(mama: ManifestManager): mama is LocatedManifestManager; metadata: MetadataDef; document: WithRequired; location: string | undefined; flags: { hasUnsafeScripts: boolean; isNative: boolean; }; constructor(document: ManifestManagerDocument | AbbreviatedManifestDocument, options?: ManifestManagerOptions); get documentDigest(): string | null; get name(): string; get version(): string; get moduleType(): import("./utils/inspectModuleType.ts").PackageModuleType; get hasZeroSemver(): boolean; get nodejsImports(): Record<`#${string}`, string | import("@nodesecure/npm-types").NodeImport>; get dependencies(): string[]; get devDependencies(): string[]; get spec(): `${string}@${string}`; get author(): Contact | null; get isWorkspace(): boolean; get integrity(): string; get license(): string | null; getEntryFiles(): IterableIterator; private extractNodejsExport; static fromPackageJSON(locationOrManifest: string | ManifestManager): Promise; static fromPackageJSONSync(locationOrManifest: string | ManifestManager): ManifestManager; } export {}; //# sourceMappingURL=ManifestManager.class.d.ts.map