/**
 * @file `resolveTrivy()` — Trivy resolution entry point. Tries each source in
 *   order:
 *
 *   1. VFS — smol binary's embedded Trivy (if packed)
 *   2. PATH — `trivy` 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 { ResolvedTrivy } from './types';
export interface ResolveTrivyOptions {
    downloadIfMissing?: {
        version: string;
        platformArch: string;
        integrity?: HashSpec | undefined;
        cacheDir?: string | undefined;
        downloader?: BinaryDownloader | undefined;
    } | undefined;
}
export declare function cacheKey(opts: ResolveTrivyOptions | undefined): string;
export declare function doResolveTrivy(opts?: ResolveTrivyOptions | undefined): Promise<ResolvedTrivy | undefined>;
export declare function resetTrivyResolution(): void;
export declare function resolveTrivy(opts?: ResolveTrivyOptions | undefined): Promise<ResolvedTrivy | undefined>;
