1import type { ExpoConfig } from '@expo/config-types'; 2import type { JSONObject } from '@expo/json-file'; 3import type { XcodeProject } from 'xcode'; 4import type { ConfigPlugin, Mod } from '../Plugin.types'; 5import type { ExpoPlist, InfoPlist } from '../ios/IosConfig.types'; 6import type { AppDelegateProjectFile } from '../ios/Paths'; 7type MutateInfoPlistAction = (expo: ExpoConfig, infoPlist: InfoPlist) => Promise<InfoPlist> | InfoPlist; 8/** 9 * Helper method for creating mods from existing config functions. 10 * 11 * @param action 12 */ 13export declare function createInfoPlistPlugin(action: MutateInfoPlistAction, name?: string): ConfigPlugin; 14export declare function createInfoPlistPluginWithPropertyGuard(action: MutateInfoPlistAction, settings: { 15 infoPlistProperty: string; 16 expoConfigProperty: string; 17 expoPropertyGetter?: (config: ExpoConfig) => string; 18}, name?: string): ConfigPlugin; 19type MutateEntitlementsPlistAction = (expo: ExpoConfig, entitlements: JSONObject) => JSONObject; 20/** 21 * Helper method for creating mods from existing config functions. 22 * 23 * @param action 24 */ 25export declare function createEntitlementsPlugin(action: MutateEntitlementsPlistAction, name: string): ConfigPlugin; 26/** 27 * Provides the AppDelegate file for modification. 28 * 29 * @param config 30 * @param action 31 */ 32export declare const withAppDelegate: ConfigPlugin<Mod<AppDelegateProjectFile>>; 33/** 34 * Provides the Info.plist file for modification. 35 * Keeps the config's expo.ios.infoPlist object in sync with the data. 36 * 37 * @param config 38 * @param action 39 */ 40export declare const withInfoPlist: ConfigPlugin<Mod<InfoPlist>>; 41/** 42 * Provides the main .entitlements file for modification. 43 * Keeps the config's expo.ios.entitlements object in sync with the data. 44 * 45 * @param config 46 * @param action 47 */ 48export declare const withEntitlementsPlist: ConfigPlugin<Mod<JSONObject>>; 49/** 50 * Provides the Expo.plist for modification. 51 * 52 * @param config 53 * @param action 54 */ 55export declare const withExpoPlist: ConfigPlugin<Mod<ExpoPlist>>; 56/** 57 * Provides the main .xcodeproj for modification. 58 * 59 * @param config 60 * @param action 61 */ 62export declare const withXcodeProject: ConfigPlugin<Mod<XcodeProject>>; 63/** 64 * Provides the Podfile.properties.json for modification. 65 * 66 * @param config 67 * @param action 68 */ 69export declare const withPodfileProperties: ConfigPlugin<Mod<Record<string, string>>>; 70export {}; 71