import StandaloneBuildFlags from './StandaloneBuildFlags';
declare type StandaloneContextDataType = 'user' | 'service';
declare type StandaloneContextTestEnvironment = 'none' | 'local' | 'ci';
/**
* A user context is used when we are configuring a standalone app locally on a user's machine,
* such as during `exp detach`.
*/
export declare type StandaloneContextDataUser = {
projectPath: string;
exp: any;
};
/**
* A service context is used when we are generating a standalone app remotely on an Expo
* service machine, such as during `exp build`.
*/
export declare type StandaloneContextDataService = {
expoSourcePath: string;
archivePath: string | null;
manifest: any;
privateConfig: any;
testEnvironment: StandaloneContextTestEnvironment;
shellAppSdkVersion: string;
};
declare class StandaloneContext {
type?: StandaloneContextDataType;
data?: StandaloneContextDataUser | StandaloneContextDataService;
config: any;
published?: {
url?: string;
releaseChannel: string;
};
build?: StandaloneBuildFlags;
static createUserContext: (projectPath: string, exp: any, publishedUrl?: string | undefined) => StandaloneContext;
static createServiceContext: (expoSourcePath: string, archivePath: string | null, manifest: any, privateConfig: any, testEnvironment: StandaloneContextTestEnvironment, build: StandaloneBuildFlags, publishedUrl: string, releaseChannel: string, shellAppSdkVersion: string) => StandaloneContext;
/**
* On iOS we begin configuring standalone apps before we have any information about the
* project's manifest.
*/
isAnonymous: () => boolean;
}
export default StandaloneContext;