import { type AutolinkedNativePackage } from './autolinkedPackages'; import type { ExtensionType } from './config'; /** Host-only Expo packages that crash / blank RN appex processes. Always merged in. */ export declare const HOST_ONLY_EXCLUDED_PACKAGES: readonly ["expo-updates", "expo-dev-client", "expo-dev-launcher", "expo-dev-menu"]; export type NativeLinkMode = 'entry' | 'host'; export type ResolveExcludedPackagesInput = { type: ExtensionType | string; entry?: string; /** Force-strip only. Never a keep-list. */ excludedPackages?: string[]; /** When set, unused autolinked host packages are inverted out. */ projectRoot?: string; /** Injected autolinked set (tests). When omitted, loaded from projectRoot. */ autolinkedPackages?: readonly (string | AutolinkedNativePackage)[]; /** Force-keep even when the entry does not import them. */ linkedPackages?: string[]; /** * `entry` (default): invert unused autolinked packages off provider + linker. * `host`: old fat copy — invert off; still force-strip HOST_ONLY + user list. */ nativeLink?: NativeLinkMode; }; export type ResolvedNativeUnlink = { packages: string[]; linkerTokens: string[]; }; /** * Resolve Expo + RN packages to strip from a nested RN extension. * Invert: autolinked − (core ∪ entry imports ∪ linkedPackages). * User `excludedPackages` is force-strip only. HOST_ONLY always merges. */ export declare function resolveNativeUnlink(input: ResolveExcludedPackagesInput): ResolvedNativeUnlink | undefined; /** * Resolve Expo packages to strip from a nested RN extension's ExpoModulesProvider. * For RN-native targets with an `entry`, always union-merge HOST_ONLY_EXCLUDED_PACKAGES * (no escape hatch). User lists are force-strip only. */ export declare function resolveExcludedPackages(input: ResolveExcludedPackagesInput): string[] | undefined; //# sourceMappingURL=resolveExcludedPackages.d.ts.map