1082815dcSEvan Baconimport type { ExpoConfig } from '@expo/config-types'; 2*8a424bebSJames Ideimport type { PropertiesItem } from './Properties'; 3082815dcSEvan Baconimport type { ConfigPlugin } from '../Plugin.types'; 4082815dcSEvan Baconimport { BuildPropertiesConfig, ConfigToPropertyRuleType } from '../utils/BuildProperties.types'; 5082815dcSEvan Bacon/** 6082815dcSEvan Bacon * Creates a `withGradleProperties` config-plugin based on given config to property mapping rules. 7082815dcSEvan Bacon * 8082815dcSEvan Bacon * The factory supports two modes from generic type inference 9082815dcSEvan Bacon * ```ts 10082815dcSEvan Bacon * // config-plugin without `props`, it will implicitly use the expo config as source config. 11082815dcSEvan Bacon * createBuildGradlePropsConfigPlugin<ExpoConfig>(): ConfigPlugin<void>; 12082815dcSEvan Bacon * 13082815dcSEvan Bacon * // config-plugin with a parameter `props: CustomType`, it will use the `props` as source config. 14082815dcSEvan Bacon * createBuildGradlePropsConfigPlugin<CustomType>(): ConfigPlugin<CustomType>; 15082815dcSEvan Bacon * ``` 16082815dcSEvan Bacon * 17082815dcSEvan Bacon * @param configToPropertyRules config to property mapping rules 18082815dcSEvan Bacon * @param name the config plugin name 19082815dcSEvan Bacon */ 20082815dcSEvan Baconexport declare function createBuildGradlePropsConfigPlugin<SourceConfigType extends BuildPropertiesConfig>(configToPropertyRules: ConfigToPropertyRuleType<SourceConfigType>[], name?: string): ConfigPlugin<SourceConfigType extends ExpoConfig ? void : SourceConfigType>; 21082815dcSEvan Bacon/** 22082815dcSEvan Bacon * A config-plugin to update `android/gradle.properties` from the `jsEngine` in expo config 23082815dcSEvan Bacon */ 24082815dcSEvan Baconexport declare const withJsEngineGradleProps: ConfigPlugin<void>; 25082815dcSEvan Baconexport declare function updateAndroidBuildPropertiesFromConfig<SourceConfigType extends BuildPropertiesConfig>(config: SourceConfigType, gradleProperties: PropertiesItem[], configToPropertyRules: ConfigToPropertyRuleType<SourceConfigType>[]): PropertiesItem[]; 26082815dcSEvan Baconexport declare function updateAndroidBuildProperty(gradleProperties: PropertiesItem[], name: string, value: string | null | undefined, options?: { 27082815dcSEvan Bacon removePropWhenValueIsNull?: boolean; 28082815dcSEvan Bacon}): PropertiesItem[]; 29