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