import { downloadGitHubReleaseAsset } from './downloadGitHubReleaseAsset.js';
import { extractGitHubReleaseAsset } from './extractGitHubReleaseAsset.js';
import { fetchNodeRuntimeReleaseAsset } from './nodeRelease.js';
export declare function managedJavaScriptRuntimeInstallDir(processEnv?: NodeJS.ProcessEnv): string;
export declare function managedJavaScriptRuntimeBinPath(processEnv?: NodeJS.ProcessEnv): string;
export declare function resolveJavaScriptRuntimePathEntries(params?: Readonly<{
    processEnv?: NodeJS.ProcessEnv;
    runtimeCommand?: string | null;
}>): ReadonlyArray<string>;
export declare function resolveExplicitJavaScriptRuntimeCommand(processEnv?: NodeJS.ProcessEnv): string | null;
export declare function readExplicitJavaScriptRuntimeCommand(processEnv?: NodeJS.ProcessEnv): string | null;
export declare function resolveExistingManagedJavaScriptRuntimeCommand(processEnv?: NodeJS.ProcessEnv): string | null;
export declare function resolveJavaScriptRuntimeCommand(params: Readonly<{
    isBunRuntime: boolean;
    processEnv?: NodeJS.ProcessEnv;
    currentExecPath?: string | null;
}>): string | null;
type EnsureManagedJavaScriptRuntimeDeps = Readonly<{
    fetchNodeRuntimeReleaseAsset?: typeof fetchNodeRuntimeReleaseAsset;
    downloadGitHubReleaseAsset?: typeof downloadGitHubReleaseAsset;
    extractGitHubReleaseAsset?: typeof extractGitHubReleaseAsset;
}>;
export declare function ensureManagedJavaScriptRuntimeCommand(processEnv?: NodeJS.ProcessEnv, deps?: EnsureManagedJavaScriptRuntimeDeps): Promise<string | null>;
export {};
//# sourceMappingURL=managedJavaScriptRuntime.d.ts.map