import type { IntegrationEntry } from './schema.js'; import { type ProvenanceCheckResult } from './verify-npm-provenance.js'; export type ProvenanceVerifier = (pkg: string, version: string, expectedRepo: string) => Promise; /** Injectable so tests exercise the flow without spawning npm. */ export type InstallRunner = (cmd: string, args: string[]) => Promise; export interface NpmGlobalInstallOptions { entry: IntegrationEntry; pkg: string; version: string; dryRun?: boolean; skipProvenance?: boolean; verifier?: ProvenanceVerifier; runner?: InstallRunner; logger?: (msg: string) => void; /** Prefix for the "Installing …" line, e.g. 'service'. */ label?: string; } export interface NpmGlobalInstallResult { command: string; args: string[]; exitCode: number; provenance?: ProvenanceCheckResult; } export declare function runCommand(cmd: string, args: string[]): Promise; /** * Install one pinned package onto the global npm prefix, gated on publish-time * provenance. Returns without running npm when `dryRun` is set. */ export declare function installNpmGlobalPackage(options: NpmGlobalInstallOptions): Promise; //# sourceMappingURL=install-npm-global.d.ts.map