/**
 * @file `resolveSynp()` — synp resolution entry point. Tries each source in
 *   order:
 *
 *   1. VFS — smol binary's embedded synp (if packed)
 *   2. PATH — `synp` on the system PATH
 *   3. download — pinned npm package via dlx (only when `downloadIfMissing` is
 *      passed) Returns `undefined` if all of the enabled sources miss. Memoized
 *      per option-shape.
 */
import type { ResolvedSynp } from './types';
export interface ResolveSynpOptions {
    downloadIfMissing?: {
        version: string;
        integrity?: string | undefined;
    } | undefined;
}
export declare function cacheKey(opts: ResolveSynpOptions | undefined): string;
export declare function doResolveSynp(opts?: ResolveSynpOptions | undefined): Promise<ResolvedSynp | undefined>;
export declare function resetSynpResolution(): void;
export declare function resolveSynp(opts?: ResolveSynpOptions | undefined): Promise<ResolvedSynp | undefined>;
