/**
 * @file `resolveCdxgen()` — cdxgen resolution entry point. Tries each source in
 *   order:
 *
 *   1. VFS — smol binary's embedded cdxgen (if packed)
 *   2. PATH — `cdxgen` on the system PATH
 *   3. download — upstream SEA binary from the GitHub release (slim by default;
 *      pass `variant: 'full'` for the bun+deno-bundled flavor) Single source of
 *      truth: SEA binary only. No npm-package fallback — every fleet
 *      platform-arch is covered by the SEA matrix, and routing through npm
 *      would split the install surface in two for no benefit. 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 { CdxgenVariant } from './asset-names';
import type { ResolvedCdxgen } from './types';
export interface ResolveCdxgenOptions {
    downloadIfMissing?: {
        version: string;
        platformArch: string;
        variant?: CdxgenVariant | undefined;
        integrity?: HashSpec | undefined;
        cacheDir?: string | undefined;
        downloader?: BinaryDownloader | undefined;
    } | undefined;
}
export declare function cacheKey(opts: ResolveCdxgenOptions | undefined): string;
export declare function doResolveCdxgen(opts?: ResolveCdxgenOptions | undefined): Promise<ResolvedCdxgen | undefined>;
export declare function resetCdxgenResolution(): void;
export declare function resolveCdxgen(opts?: ResolveCdxgenOptions | undefined): Promise<ResolvedCdxgen | undefined>;
