1*f0d67e12SMateus Craveiroimport { ConfigPlugin, ExportedConfigWithProps, Mod } from '../Plugin.types'; 2082815dcSEvan Baconimport { Manifest, Paths, Properties, Resources } from '../android'; 39b26454eSBartosz Kaszubowskitype OptionalPromise<T> = T | Promise<T>; 4*f0d67e12SMateus Craveirotype MutateDataAction<T> = (expo: ExportedConfigWithProps<T>, data: T) => OptionalPromise<T>; 5082815dcSEvan Bacon/** 6082815dcSEvan Bacon * Helper method for creating mods from existing config functions. 7082815dcSEvan Bacon * 8082815dcSEvan Bacon * @param action 9082815dcSEvan Bacon */ 10082815dcSEvan Baconexport declare function createAndroidManifestPlugin(action: MutateDataAction<Manifest.AndroidManifest>, name: string): ConfigPlugin; 11082815dcSEvan Baconexport declare function createStringsXmlPlugin(action: MutateDataAction<Resources.ResourceXML>, name: string): ConfigPlugin; 12082815dcSEvan Bacon/** 13082815dcSEvan Bacon * Provides the AndroidManifest.xml for modification. 14082815dcSEvan Bacon * 15082815dcSEvan Bacon * @param config 16082815dcSEvan Bacon * @param action 17082815dcSEvan Bacon */ 18082815dcSEvan Baconexport declare const withAndroidManifest: ConfigPlugin<Mod<Manifest.AndroidManifest>>; 19082815dcSEvan Bacon/** 20082815dcSEvan Bacon * Provides the strings.xml for modification. 21082815dcSEvan Bacon * 22082815dcSEvan Bacon * @param config 23082815dcSEvan Bacon * @param action 24082815dcSEvan Bacon */ 25082815dcSEvan Baconexport declare const withStringsXml: ConfigPlugin<Mod<Resources.ResourceXML>>; 26082815dcSEvan Bacon/** 27082815dcSEvan Bacon * Provides the `android/app/src/main/res/values/colors.xml` as JSON (parsed with [`xml2js`](https://www.npmjs.com/package/xml2js)). 28082815dcSEvan Bacon * 29082815dcSEvan Bacon * @param config 30082815dcSEvan Bacon * @param action 31082815dcSEvan Bacon */ 32082815dcSEvan Baconexport declare const withAndroidColors: ConfigPlugin<Mod<Resources.ResourceXML>>; 33082815dcSEvan Bacon/** 34082815dcSEvan Bacon * Provides the `android/app/src/main/res/values-night/colors.xml` as JSON (parsed with [`xml2js`](https://www.npmjs.com/package/xml2js)). 35082815dcSEvan Bacon * 36082815dcSEvan Bacon * @param config 37082815dcSEvan Bacon * @param action 38082815dcSEvan Bacon */ 39082815dcSEvan Baconexport declare const withAndroidColorsNight: ConfigPlugin<Mod<Resources.ResourceXML>>; 40082815dcSEvan Bacon/** 41082815dcSEvan Bacon * Provides the `android/app/src/main/res/values/styles.xml` as JSON (parsed with [`xml2js`](https://www.npmjs.com/package/xml2js)). 42082815dcSEvan Bacon * 43082815dcSEvan Bacon * @param config 44082815dcSEvan Bacon * @param action 45082815dcSEvan Bacon */ 46082815dcSEvan Baconexport declare const withAndroidStyles: ConfigPlugin<Mod<Resources.ResourceXML>>; 47082815dcSEvan Bacon/** 48082815dcSEvan Bacon * Provides the project MainActivity for modification. 49082815dcSEvan Bacon * 50082815dcSEvan Bacon * @param config 51082815dcSEvan Bacon * @param action 52082815dcSEvan Bacon */ 53082815dcSEvan Baconexport declare const withMainActivity: ConfigPlugin<Mod<Paths.ApplicationProjectFile>>; 54082815dcSEvan Bacon/** 55082815dcSEvan Bacon * Provides the project MainApplication for modification. 56082815dcSEvan Bacon * 57082815dcSEvan Bacon * @param config 58082815dcSEvan Bacon * @param action 59082815dcSEvan Bacon */ 60082815dcSEvan Baconexport declare const withMainApplication: ConfigPlugin<Mod<Paths.ApplicationProjectFile>>; 61082815dcSEvan Bacon/** 62082815dcSEvan Bacon * Provides the project /build.gradle for modification. 63082815dcSEvan Bacon * 64082815dcSEvan Bacon * @param config 65082815dcSEvan Bacon * @param action 66082815dcSEvan Bacon */ 67082815dcSEvan Baconexport declare const withProjectBuildGradle: ConfigPlugin<Mod<Paths.GradleProjectFile>>; 68082815dcSEvan Bacon/** 69082815dcSEvan Bacon * Provides the app/build.gradle for modification. 70082815dcSEvan Bacon * 71082815dcSEvan Bacon * @param config 72082815dcSEvan Bacon * @param action 73082815dcSEvan Bacon */ 74082815dcSEvan Baconexport declare const withAppBuildGradle: ConfigPlugin<Mod<Paths.GradleProjectFile>>; 75082815dcSEvan Bacon/** 76082815dcSEvan Bacon * Provides the /settings.gradle for modification. 77082815dcSEvan Bacon * 78082815dcSEvan Bacon * @param config 79082815dcSEvan Bacon * @param action 80082815dcSEvan Bacon */ 81082815dcSEvan Baconexport declare const withSettingsGradle: ConfigPlugin<Mod<Paths.GradleProjectFile>>; 82082815dcSEvan Bacon/** 83082815dcSEvan Bacon * Provides the /gradle.properties for modification. 84082815dcSEvan Bacon * 85082815dcSEvan Bacon * @param config 86082815dcSEvan Bacon * @param action 87082815dcSEvan Bacon */ 88082815dcSEvan Baconexport declare const withGradleProperties: ConfigPlugin<Mod<Properties.PropertiesItem[]>>; 89082815dcSEvan Baconexport {}; 90