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