import { ExpoConfig } from '@expo/config-types'; import { JSONObject } from '@expo/json-file'; import { XcodeProject } from 'xcode'; import { ConfigPlugin, Mod } from '../Plugin.types'; import { ExpoPlist, InfoPlist } from '../ios/IosConfig.types'; import { AppDelegateProjectFile } from '../ios/Paths'; declare type MutateInfoPlistAction = (expo: ExpoConfig, infoPlist: InfoPlist) => InfoPlist; /** * Helper method for creating mods from existing config functions. * * @param action */ export declare function createInfoPlistPlugin(action: MutateInfoPlistAction, name?: string): ConfigPlugin; declare type MutateEntitlementsPlistAction = (expo: ExpoConfig, entitlements: JSONObject) => JSONObject; /** * Helper method for creating mods from existing config functions. * * @param action */ export declare function createEntitlementsPlugin(action: MutateEntitlementsPlistAction, name: string): ConfigPlugin; /** * Provides the AppDelegate file for modification. * * @param config * @param action */ export declare const withAppDelegate: ConfigPlugin>; /** * Provides the Info.plist file for modification. * Keeps the config's expo.ios.infoPlist object in sync with the data. * * @param config * @param action */ export declare const withInfoPlist: ConfigPlugin>; /** * Provides the main .entitlements file for modification. * Keeps the config's expo.ios.entitlements object in sync with the data. * * @param config * @param action */ export declare const withEntitlementsPlist: ConfigPlugin>; /** * Provides the Expo.plist for modification. * * @param config * @param action */ export declare const withExpoPlist: ConfigPlugin>; /** * Provides the main .xcodeproj for modification. * * @param config * @param action */ export declare const withXcodeProject: ConfigPlugin>; export {};