/**
 * @file `cdxgenFromDownload()` — fetches the upstream cdxgen SEA binary (slim
 *   by default) and returns a `ResolvedCdxgen` pointing at the cached
 *   executable. cdxgen ships bare-binary assets per platform (no archive
 *   wrapper) with sidecar `.sha256` files; this helper passes the pinned
 *   integrity through `downloadToolArchive`, then copies the downloaded blob to
 *   `cdxgen[.exe]` and chmods it 0o755. Platforms upstream doesn't ship a SEA
 *   for (none today; the asset map covers all 8 fleet targets) return
 *   `undefined` — callers should fall back to `cdxgenFromNpm()` for those.
 */
import type { BinaryDownloader } from '../from-download';
import type { HashSpec } from '../../integrity';
import type { CdxgenVariant } from './asset-names';
import type { ResolvedCdxgen } from './types';
export interface CdxgenFromDownloadOptions {
    /**
     * Cdxgen release version, e.g. `'12.4.1'`.
     */
    version: string;
    /**
     * Fleet platform-arch token, e.g. `'darwin-arm64'`.
     */
    platformArch: string;
    /**
     * Slim (default — no bundled bun/deno) or full (bundles both).
     */
    variant?: CdxgenVariant | undefined;
    /**
     * Optional pinned integrity from `external-tools.json`.
     */
    integrity?: HashSpec | undefined;
    /**
     * Override the cache directory. By default the binary lands under
     * `<getSocketDlxDir()>/cdxgen/<version>/<platformArch>-<variant>/`.
     */
    cacheDir?: string | undefined;
    /**
     * Inject a custom downloader. Forwarded to the underlying
     * `downloadToolArchive`. Defaults to dlx.
     */
    downloader?: BinaryDownloader | undefined;
}
export declare function cdxgenFromDownload(opts: CdxgenFromDownloadOptions): Promise<ResolvedCdxgen | undefined>;
