/**
 * @file Upstream uv release asset-name mapping per `platform-arch`. uv
 *   publishes per-platform archives under
 *   https://github.com/astral-sh/uv/releases/download/<X.Y.Z>/. The release tag
 *   is the bare semver (no `v` prefix), unlike most upstream projects. Each
 *   archive wraps the binary one directory deep (`uv-<triple>/uv[.exe]`), so
 *   callers should pass `strip: 1` to the extractor — or, equivalently, look up
 *   the binary inside the archive's stem directory.
 */
export interface UvAssetEntry {
    /**
     * Full asset filename (no version interpolation — uv asset names are
     * version-free).
     */
    readonly asset: string;
}
export declare const UV_ASSET_MAP: Readonly<Record<string, UvAssetEntry>>;
export declare function getUvAssetEntry(platformArch: string): UvAssetEntry | undefined;
export interface UvDownloadOptions {
    /**
     * Uv release version, e.g. `'0.10.11'` (no `v` prefix — astral-sh/uv tags
     * releases as bare semver).
     */
    version: string;
    /**
     * Fleet platform-arch token — looked up in `UV_ASSET_MAP`.
     */
    platformArch: string;
}
/**
 * Build the GitHub release-asset download URL for an upstream uv binary.
 * Returns `undefined` when no entry exists for the requested platform-arch.
 *
 * Reference: https://github.com/astral-sh/uv/releases.
 */
export declare function getUvDownloadUrl(opts: UvDownloadOptions): string | undefined;
