/// <reference types="node" />
import type { NpmVersion } from '@ewizardjs/system-settings';
import type { ForkOptions } from 'node:child_process';
export declare enum NpmCommand {
    Install = "i",
    CleanInstall = "ci",
    Uninstall = "r",
    Publish = "publish"
}
export interface NpmOptions extends Partial<NpmRegistryConfig> {
    cwd: string;
    silent?: boolean;
    npmVersion?: NpmVersion;
    distTag?: string;
}
export interface NpmRegistryConfig {
    registry: string;
    token: string;
    packageNamePatterns?: string[];
}
export interface ForkArguments {
    cmd: NpmCommand | string;
    args: string[];
    npmVersion?: NpmVersion;
    options: ForkOptions;
}
export type NpmPaths = Partial<Record<NpmVersion, string>>;
