import { ConfigPlugin } from 'expo/config-plugins'; import type { ExpoConfig } from '@expo/config-types'; import { type VegaProjectOptions } from './withVega'; import { withIosAlternativeBilling, type IOSAlternativeBillingConfig } from './withIosAlternativeBilling'; import type { ExpoIapPluginCommonOptions } from './expoConfig.augmentation'; export { ensureOnsidePodIOS } from './onsidePodfile'; type AndroidManifestLike = { manifest: { application?: Record[]; }; }; type HorizonAppIdSyncResult = 'added' | 'updated' | 'removed' | 'unchanged'; export declare const normalizeGeneratedGroovyProjectBuildGradle: (gradle: string) => string; export declare const normalizeGeneratedGroovyAppBuildGradle: (gradle: string) => string; export declare function syncHorizonAppIdMetaData(manifest: AndroidManifestLike, horizonAppId?: string): HorizonAppIdSyncResult; export declare const modifyAppBuildGradle: (gradle: string, language: "groovy" | "kt") => string; export type AndroidStorePin = string | null; type GradleProperty = { type: string; key?: string; value?: string; }; export declare function storeGradleProperties(properties: T[], pinnedStore: AndroidStorePin, provider?: string): T[]; export declare const AMAZON_APPSTORE_KEY_FILE = "AppstoreAuthenticationKey.pem"; export declare function syncAmazonAppstoreKey(source: string, target: string): boolean; export type AutolinkState = { expoIap: boolean; onside: boolean; }; type AutolinkEntry = { name: string; enable: boolean; }; export declare function computeAutolinkModules(existing: string[], desired: AutolinkEntry[]): { modules: string[]; added: string[]; removed: string[]; }; export type OnsideInfoPlist = { CFBundleIdentifier?: string; CFBundleURLTypes?: { CFBundleURLSchemes?: string[]; }[]; LSApplicationQueriesSchemes?: string[]; }; export declare const applyOnsideInfoPlist: (plist: OnsideInfoPlist, bundleIdentifier?: string) => OnsideInfoPlist; export type ExpoIapPluginOptions = ExpoIapPluginCommonOptions; export interface ModuleSelectionResult { selection: 'auto' | 'expo-iap' | 'onside'; includeExpoIap: boolean; includeOnside: boolean; } export type AmazonPlatformFlags = { isFireOsEnabled: boolean; vegaOverride: boolean | undefined; isHorizonEnabled: boolean; }; type AmazonPlatformFlagOptions = ExpoIapPluginOptions; export declare function resolveAmazonPlatformFlags(options?: AmazonPlatformFlagOptions | void, envFlagsUsed?: string[]): AmazonPlatformFlags; export declare function resolveHorizonAppId(options?: ExpoIapPluginOptions | void): string | undefined; export declare function resolveAmazonAppstoreKey(options?: ExpoIapPluginOptions | void): string | undefined; export declare function resolvePinnedAndroidStore(flags: Pick): AndroidStorePin; export type AndroidStoreSelection = { pinnedStore: AndroidStorePin; provider?: string; }; export declare function resolveAndroidStoreSelection(options: ExpoIapPluginOptions | void, legacyPin: AndroidStorePin): AndroidStoreSelection; export declare function resolveAlternativeBillingIOS(options?: ExpoIapPluginOptions | void): IOSAlternativeBillingConfig | undefined; export declare function resolveVegaProjectOptions(options?: ExpoIapPluginOptions | void): VegaProjectOptions | undefined; /** * Determines which native modules to include: ExpoIap (StoreKit 2) and/or * Onside (iOS alternative billing). */ export declare function resolveModuleSelection(config: ExpoConfig, options?: ExpoIapPluginCommonOptions | void, envFlagsUsed?: string[]): ModuleSelectionResult; declare const withIap: ConfigPlugin; export { withIosAlternativeBilling, withIap }; declare const _default: ConfigPlugin; export default _default;