import { ExpoConfig } from '@expo/config';
import { Env, Workflow } from '@expo/eas-build-job';
import { RequestedPlatform } from '../platform';
import { Client } from '../vcs/vcs';
export declare const DEFAULT_MANAGED_RUNTIME_VERSION_GTE_SDK_49: {
    readonly policy: "appVersion";
};
export declare const DEFAULT_MANAGED_RUNTIME_VERSION_LTE_SDK_48: {
    readonly policy: "sdkVersion";
};
export declare const DEFAULT_BARE_RUNTIME_VERSION = "1.0.0";
export declare function getDefaultRuntimeVersion(workflow: Workflow, sdkVersion: string | undefined): NonNullable<ExpoConfig['runtimeVersion']>;
/**
 * Make sure EAS Build profiles are configured to work with EAS Update by adding channels to build profiles.
 */
export declare function ensureEASUpdateIsConfiguredInEasJsonAsync(projectDir: string): Promise<void>;
/**
 * Make sure EAS Update is fully configured in the current project.
 * This goes over a checklist and performs the following checks or changes:
 *   - Ensure `updates.useClassicUpdates` (SDK 49) is not set in the app config
 *   - Ensure the `expo-updates` package is currently installed.
 *   - Ensure `app.json` is configured for EAS Updates
 *     - Sets `runtimeVersion` if not set
 *     - Sets `updates.url` if not set
 *   - Ensure latest changes are reflected in the native config, if any
 */
export declare function ensureEASUpdateIsConfiguredAsync({ exp: expMaybeWithoutUpdates, projectId, projectDir, vcsClient, platform, env, }: {
    exp: ExpoConfig;
    projectId: string;
    projectDir: string;
    vcsClient: Client;
    platform: RequestedPlatform | null;
    env: Env | undefined;
}): Promise<void>;
