import { IScopedLogger } from '@camstack/types';
/**
 * Native node modules an addon needs at runtime but cannot be bundled
 * (`.node` binary files require ABI-matched compilation). Mirror of the
 * Python `requirements.txt` pattern in `manifest-python-deps.ts` —
 * declared in the addon's `package.json` under `camstack.nativeDependencies`,
 * installed per-addon at install time so the host's regular `npm install`
 * doesn't pull in the union of every camera driver's native deps.
 *
 * Phase E of the bundles + builder modernization spec
 * (`docs/superpowers/specs/2026-05-09-bundles-and-builder-modernization-design.md`).
 *
 * Idempotent: hashes the `nativeDependencies` map and writes a marker
 * to `<addonDir>/.camstack-native-deps-installed`. Re-installing only
 * happens when the declared set changes.
 *
 * Failure modes:
 *   - manifest doesn't declare `nativeDependencies` (or declares empty) → no-op
 *   - `npm install` fails → throws (caller decides whether to abort install)
 *   - rebuild step fails → logs warning + continues (install may still
 *     work if prebuilt binaries shipped in the package cover the host
 *     ABI; surface a clear error at first `import` of the native module
 *     otherwise).
 */
export declare function installManifestNativeDeps(addonDir: string, pkgRaw: Record<string, unknown>, logger: IScopedLogger, registry?: string): Promise<void>;
//# sourceMappingURL=manifest-native-deps.d.ts.map