/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import { spawn } from 'node:child_process';
export declare class NpmAuth {
    /**
     * Execute a command - extracted for testability
     */
    static exec(command: string, options?: any): Promise<{
        stderr: Buffer | string;
        stdout: Buffer | string;
    }>;
    /**
     * Check if user is authenticated with npm
     */
    static isAuthenticated(): Promise<boolean>;
    /**
     * Check if npm is available on the system
     */
    static isNpmAvailable(): Promise<boolean>;
    /**
     * Check if a package requires authentication by trying to access it
     * Returns true if the package appears to be private (requires auth)
     */
    static isPrivatePackage(packageName: string): Promise<boolean>;
    /**
     * Run npm login interactively
     * Returns true if login succeeded, false otherwise
     */
    static login(): Promise<boolean>;
    /**
     * Spawn a process - extracted for testability
     */
    static spawn(command: string, args: string[], options?: any): ReturnType<typeof spawn>;
}
