/**
 * @file `resolveUv()` — uv resolution entry point. Tries each source in order:
 *
 *   1. VFS — smol binary's embedded uv (if packed)
 *   2. PATH — `uv` on the system PATH
 *   3. download — upstream GitHub release archive (only when `downloadIfMissing`
 *      is passed) Returns `undefined` if all of the enabled sources miss.
 *      Memoized per option-shape.
 */
import type { BinaryDownloader } from '../from-download';
import type { HashSpec } from '../../integrity';
import type { ResolvedUv } from './types';
export interface ResolveUvOptions {
    downloadIfMissing?: {
        version: string;
        platformArch: string;
        integrity?: HashSpec | undefined;
        cacheDir?: string | undefined;
        downloader?: BinaryDownloader | undefined;
    } | undefined;
}
export declare function cacheKey(opts: ResolveUvOptions | undefined): string;
export declare function doResolveUv(opts?: ResolveUvOptions | undefined): Promise<ResolvedUv | undefined>;
export declare function resetUvResolution(): void;
export declare function resolveUv(opts?: ResolveUvOptions | undefined): Promise<ResolvedUv | undefined>;
