import { FetchOptions } from "npm-registry-fetch";
import type { Conf } from "./npm-conf/conf";
import { OneTimePasswordCache } from "./otplease";
import type { Package } from "./package";
interface NpmPublishOptions {
    dryRun?: boolean;
    ["dry-run"]?: boolean;
    ["strict-ssl"]?: boolean;
    tag?: string;
    registry?: string;
}
interface LibNpmPublishOptions extends FetchOptions {
    access?: "public" | "restricted";
    defaultTag?: string;
}
/**
 * Publish a package to the configured registry.
 */
export declare function npmPublish(pkg: Package, tarFilePath: string, options: LibNpmPublishOptions & NpmPublishOptions, conf: Conf, otpCache?: OneTimePasswordCache): Promise<void | Response>;
export {};
