export interface INpmSettings { [key: string]: string; } /** * Represents an .npmrc configuration file and presents an interface * for interactions with it. */ export declare class Npmrc { filePath: string; settings: INpmSettings; /** * @param {string} basePath - path to .npmrc file or directory containing .npmrc file */ constructor(basePath: string); /** * Inspects this object's settings for registry entries * and returns an array of Registry objects for the ones * it finds. * @returns {Registry[]} */ getRegistries(): Array; /** * Reads the contents of the .npmrc file corresponding * to this object then parses and initializes settings. * When finished, returns this object. */ readSettingsFromFile(): Promise; /** * Encodes this object's settings and then * writes them to disk at the .npmrc location * the object was instantiated from. */ saveSettingsToFile(): Promise<{}>; /** * Checks whether the given key is an auth setting. */ static isAuthSetting(key: string): boolean; /** * Reads NPM settings to determine the location of the * userconfig and creates an Npmrc object for it. */ static getUserNpmrc(): Npmrc; } export interface IBasicAuthSettings extends INpmSettings { username: string; password: string; email: string; } /** * An abstraction for an npm registry configuration entry */ export declare class Registry { url: string; token: string; basicAuthSettings: IBasicAuthSettings; feed: string; project: string; constructor(registryUrl: string); /** * Returns the auth settings for this Registry */ getAuthSettings(): INpmSettings; }