1082815dcSEvan Baconimport type { ExpoConfig } from '@expo/config-types'; 2082815dcSEvan Baconimport type { JSONObject } from '@expo/json-file'; 3082815dcSEvan Baconimport type { XcodeProject } from 'xcode'; 4082815dcSEvan Baconimport type { ConfigPlugin, Mod } from '../Plugin.types'; 5082815dcSEvan Baconimport type { ExpoPlist, InfoPlist } from '../ios/IosConfig.types'; 6082815dcSEvan Baconimport type { AppDelegateProjectFile } from '../ios/Paths'; 7*9b26454eSBartosz Kaszubowskitype MutateInfoPlistAction = (expo: ExpoConfig, infoPlist: InfoPlist) => Promise<InfoPlist> | InfoPlist; 8082815dcSEvan Bacon/** 9082815dcSEvan Bacon * Helper method for creating mods from existing config functions. 10082815dcSEvan Bacon * 11082815dcSEvan Bacon * @param action 12082815dcSEvan Bacon */ 13082815dcSEvan Baconexport declare function createInfoPlistPlugin(action: MutateInfoPlistAction, name?: string): ConfigPlugin; 14082815dcSEvan Baconexport declare function createInfoPlistPluginWithPropertyGuard(action: MutateInfoPlistAction, settings: { 15082815dcSEvan Bacon infoPlistProperty: string; 16082815dcSEvan Bacon expoConfigProperty: string; 17082815dcSEvan Bacon expoPropertyGetter?: (config: ExpoConfig) => string; 18082815dcSEvan Bacon}, name?: string): ConfigPlugin; 19*9b26454eSBartosz Kaszubowskitype MutateEntitlementsPlistAction = (expo: ExpoConfig, entitlements: JSONObject) => JSONObject; 20082815dcSEvan Bacon/** 21082815dcSEvan Bacon * Helper method for creating mods from existing config functions. 22082815dcSEvan Bacon * 23082815dcSEvan Bacon * @param action 24082815dcSEvan Bacon */ 25082815dcSEvan Baconexport declare function createEntitlementsPlugin(action: MutateEntitlementsPlistAction, name: string): ConfigPlugin; 26082815dcSEvan Bacon/** 27082815dcSEvan Bacon * Provides the AppDelegate file for modification. 28082815dcSEvan Bacon * 29082815dcSEvan Bacon * @param config 30082815dcSEvan Bacon * @param action 31082815dcSEvan Bacon */ 32082815dcSEvan Baconexport declare const withAppDelegate: ConfigPlugin<Mod<AppDelegateProjectFile>>; 33082815dcSEvan Bacon/** 34082815dcSEvan Bacon * Provides the Info.plist file for modification. 35082815dcSEvan Bacon * Keeps the config's expo.ios.infoPlist object in sync with the data. 36082815dcSEvan Bacon * 37082815dcSEvan Bacon * @param config 38082815dcSEvan Bacon * @param action 39082815dcSEvan Bacon */ 40082815dcSEvan Baconexport declare const withInfoPlist: ConfigPlugin<Mod<InfoPlist>>; 41082815dcSEvan Bacon/** 42082815dcSEvan Bacon * Provides the main .entitlements file for modification. 43082815dcSEvan Bacon * Keeps the config's expo.ios.entitlements object in sync with the data. 44082815dcSEvan Bacon * 45082815dcSEvan Bacon * @param config 46082815dcSEvan Bacon * @param action 47082815dcSEvan Bacon */ 48082815dcSEvan Baconexport declare const withEntitlementsPlist: ConfigPlugin<Mod<JSONObject>>; 49082815dcSEvan Bacon/** 50082815dcSEvan Bacon * Provides the Expo.plist for modification. 51082815dcSEvan Bacon * 52082815dcSEvan Bacon * @param config 53082815dcSEvan Bacon * @param action 54082815dcSEvan Bacon */ 55082815dcSEvan Baconexport declare const withExpoPlist: ConfigPlugin<Mod<ExpoPlist>>; 56082815dcSEvan Bacon/** 57082815dcSEvan Bacon * Provides the main .xcodeproj for modification. 58082815dcSEvan Bacon * 59082815dcSEvan Bacon * @param config 60082815dcSEvan Bacon * @param action 61082815dcSEvan Bacon */ 62082815dcSEvan Baconexport declare const withXcodeProject: ConfigPlugin<Mod<XcodeProject>>; 63082815dcSEvan Bacon/** 64082815dcSEvan Bacon * Provides the Podfile.properties.json for modification. 65082815dcSEvan Bacon * 66082815dcSEvan Bacon * @param config 67082815dcSEvan Bacon * @param action 68082815dcSEvan Bacon */ 69082815dcSEvan Baconexport declare const withPodfileProperties: ConfigPlugin<Mod<Record<string, string>>>; 70082815dcSEvan Baconexport {}; 71