/**
 * Returns the path to a venv binary (`python` or `pip`) for the given data
 * directory, cross-platform:
 *   Windows (win32)  →  <dataDir>/searxng/venv/Scripts/<name>.exe
 *   POSIX            →  <dataDir>/searxng/venv/bin/<name>
 *
 * Pass `platform` explicitly in tests to avoid depending on the host OS.
 */
export declare function venvBinPath(dataDir: string, name: 'python' | 'pip', platform?: string): string;
/**
 * Returns the first Python interpreter found on PATH: tries `python3` then
 * `python`. Falls back to the string `'python3'` when neither is detected so
 * that callers surface a clear "not found" error at execution time rather than
 * silently passing an empty string.
 *
 * Reuses `binaryInPath()` which already handles `which` vs `where` (Windows).
 * Result is memoized — the interpreter set does not change within a process,
 * so warm-path callers avoid repeated `which`/`where` subprocess spawns.
 */
export declare function resolvePythonExe(): string;
/** Test-only: clear the memoized interpreter so platform-mocked tests re-resolve. */
export declare function __resetResolvedPythonExe(): void;
/**
 * Returns the Python binary to use for every Python operation — pip installs,
 * import availability checks, and long-lived subprocess spawns. Prefers the
 * SearXNG venv python (created by bootstrap) to guarantee that warmup, doctor,
 * and runtime all hit the same interpreter and see the same packages.
 * Falls back to system `python3` when the venv has not been created yet.
 */
export declare function getPythonBin(dataDir?: string): string;
//# sourceMappingURL=python-env.d.ts.map