1import { ExpoConfig } from '@expo/config-types';
2import { ConfigPlugin, Mod } from '../Plugin.types';
3import { Manifest, Paths, Properties, Resources } from '../android';
4type OptionalPromise<T> = T | Promise<T>;
5type MutateDataAction<T> = (expo: ExpoConfig, data: T) => OptionalPromise<T>;
6/**
7 * Helper method for creating mods from existing config functions.
8 *
9 * @param action
10 */
11export declare function createAndroidManifestPlugin(action: MutateDataAction<Manifest.AndroidManifest>, name: string): ConfigPlugin;
12export declare function createStringsXmlPlugin(action: MutateDataAction<Resources.ResourceXML>, name: string): ConfigPlugin;
13/**
14 * Provides the AndroidManifest.xml for modification.
15 *
16 * @param config
17 * @param action
18 */
19export declare const withAndroidManifest: ConfigPlugin<Mod<Manifest.AndroidManifest>>;
20/**
21 * Provides the strings.xml for modification.
22 *
23 * @param config
24 * @param action
25 */
26export declare const withStringsXml: ConfigPlugin<Mod<Resources.ResourceXML>>;
27/**
28 * Provides the `android/app/src/main/res/values/colors.xml` as JSON (parsed with [`xml2js`](https://www.npmjs.com/package/xml2js)).
29 *
30 * @param config
31 * @param action
32 */
33export declare const withAndroidColors: ConfigPlugin<Mod<Resources.ResourceXML>>;
34/**
35 * Provides the `android/app/src/main/res/values-night/colors.xml` as JSON (parsed with [`xml2js`](https://www.npmjs.com/package/xml2js)).
36 *
37 * @param config
38 * @param action
39 */
40export declare const withAndroidColorsNight: ConfigPlugin<Mod<Resources.ResourceXML>>;
41/**
42 * Provides the `android/app/src/main/res/values/styles.xml` as JSON (parsed with [`xml2js`](https://www.npmjs.com/package/xml2js)).
43 *
44 * @param config
45 * @param action
46 */
47export declare const withAndroidStyles: ConfigPlugin<Mod<Resources.ResourceXML>>;
48/**
49 * Provides the project MainActivity for modification.
50 *
51 * @param config
52 * @param action
53 */
54export declare const withMainActivity: ConfigPlugin<Mod<Paths.ApplicationProjectFile>>;
55/**
56 * Provides the project MainApplication for modification.
57 *
58 * @param config
59 * @param action
60 */
61export declare const withMainApplication: ConfigPlugin<Mod<Paths.ApplicationProjectFile>>;
62/**
63 * Provides the project /build.gradle for modification.
64 *
65 * @param config
66 * @param action
67 */
68export declare const withProjectBuildGradle: ConfigPlugin<Mod<Paths.GradleProjectFile>>;
69/**
70 * Provides the app/build.gradle for modification.
71 *
72 * @param config
73 * @param action
74 */
75export declare const withAppBuildGradle: ConfigPlugin<Mod<Paths.GradleProjectFile>>;
76/**
77 * Provides the /settings.gradle for modification.
78 *
79 * @param config
80 * @param action
81 */
82export declare const withSettingsGradle: ConfigPlugin<Mod<Paths.GradleProjectFile>>;
83/**
84 * Provides the /gradle.properties for modification.
85 *
86 * @param config
87 * @param action
88 */
89export declare const withGradleProperties: ConfigPlugin<Mod<Properties.PropertiesItem[]>>;
90export {};
91