export declare type ProjectConfig = { exp: ExpoConfig; pkg: PackageJSONConfig; rootConfig: AppJSONConfig; }; export declare type AppJSONConfig = { expo: ExpoConfig; [key: string]: any; }; export declare type BareAppConfig = { name: string; displayName: string; [key: string]: any; }; export declare type ExpoConfig = { name?: string; slug?: string; sdkVersion?: string; platforms?: Array<Platform>; nodeModulesPath?: string; [key: string]: any; }; export declare type ExpRc = { [key: string]: any; }; export declare type Platform = 'android' | 'ios' | 'web'; export declare type PackageJSONConfig = { [key: string]: any; }; export declare function isUsingYarn(projectRoot: string): boolean; export declare function fileExistsAsync(file: string): Promise<boolean>; export declare function fileExists(file: string): boolean; export declare function resolveModule(request: string, projectRoot: string, exp: ExpoConfig): string; export declare function findConfigFileAsync(projectRoot: string): Promise<{ configPath: string; configName: string; configNamespace: 'expo'; }>; export declare function findConfigFile(projectRoot: string): { configPath: string; configName: string; configNamespace: 'expo'; }; export declare function configFilenameAsync(projectRoot: string): Promise<string>; export declare function configFilename(projectRoot: string): string; export declare function readExpRcAsync(projectRoot: string): Promise<ExpRc>; export declare function setCustomConfigPath(projectRoot: string, configPath: string): void; export declare function createEnvironmentConstants(appManifest: ExpoConfig, pwaManifestLocation: string): { name: any; /** * Omit app.json properties that get removed during the native turtle build * * `facebookScheme` * `facebookAppId` * `facebookDisplayName` */ facebookScheme: undefined; facebookAppId: undefined; facebookDisplayName: undefined; ios: undefined; android: undefined; web: any; slug?: string | undefined; sdkVersion?: string | undefined; platforms?: Platform[] | undefined; nodeModulesPath?: string | undefined; }; export declare function getConfigForPWA(projectRoot: string, getAbsolutePath: (...pathComponents: string[]) => string, options: object): ExpoConfig; export declare function getNameFromConfig(exp?: ExpoConfig): { appName: string; webName: string; }; export declare function validateShortName(shortName: string): Promise<void>; export declare function getWebOutputPath(config?: { [key: string]: any; }): string; export declare function ensurePWAConfig(appJSON: AppJSONConfig | ExpoConfig, getAbsolutePath: ((...pathComponents: string[]) => string) | undefined, options: object): ExpoConfig; export declare function readConfigJson(projectRoot: string, skipValidation?: boolean): ProjectConfig; export declare function readConfigJsonAsync(projectRoot: string, skipValidation?: boolean): Promise<ProjectConfig>; export declare function writeConfigJsonAsync(projectRoot: string, options: Object): Promise<ProjectConfig>;