export interface ILogger {
    info: (string: string) => void;
    error: (string: string) => void;
}
/**
 *
 * @param npmrcFileLines The npmrc file's lines
 * @param env The environment variables object
 * @param supportEnvVarFallbackSyntax Whether to support fallback values in the form of `${VAR_NAME:-fallback}`
 * @param filterNpmIncompatibleProperties Whether to filter out properties that npm doesn't understand
 * @returns An array of processed npmrc file lines with undefined environment variables and npm-incompatible properties commented out
 */
export declare function trimNpmrcFileLines(npmrcFileLines: string[], env: NodeJS.ProcessEnv, supportEnvVarFallbackSyntax: boolean, filterNpmIncompatibleProperties?: boolean): string[];
/**
 * syncNpmrc() copies the .npmrc file to the target folder, and also trims unusable lines from the .npmrc file.
 * If the source .npmrc file not exist, then syncNpmrc() will delete an .npmrc that is found in the target folder.
 *
 * IMPORTANT: THIS CODE SHOULD BE KEPT UP TO DATE WITH Utilities._syncNpmrc()
 *
 * @returns
 * The text of the the synced .npmrc, if one exists. If one does not exist, then undefined is returned.
 */
export interface ISyncNpmrcOptions {
    sourceNpmrcFolder: string;
    targetNpmrcFolder: string;
    supportEnvVarFallbackSyntax: boolean;
    useNpmrcPublish?: boolean;
    logger?: ILogger;
    linesToPrepend?: string[];
    linesToAppend?: string[];
    createIfMissing?: boolean;
    filterNpmIncompatibleProperties?: boolean;
    env?: NodeJS.ProcessEnv;
}
export declare function syncNpmrc(options: ISyncNpmrcOptions): string | undefined;
export declare function isVariableSetInNpmrcFile(sourceNpmrcFolder: string, variableKey: string, supportEnvVarFallbackSyntax: boolean): boolean;
//# sourceMappingURL=npmrcUtilities.d.ts.map