/** * Android SDK Manager wrapper */ export interface SDKComponent { name: string; path: string; version?: string; installed: boolean; } /** * Required SDK components for JetStart */ export declare const REQUIRED_SDK_COMPONENTS: string[]; /** * Android SDK Manager class */ export declare class AndroidSDKManager { private sdkRoot; constructor(sdkRoot?: string); /** * Initialize SDK root, detecting or creating as needed */ ensureSDKRoot(): Promise; /** * Check if Android cmdline-tools are installed */ hasCmdlineTools(): Promise; /** * Install Android cmdline-tools */ installCmdlineTools(): Promise; /** * Resolve sdkmanager path and tools root * Checks multiple standard paths: * 1. cmdline-tools/latest/bin (Standard) * 2. cmdline-tools/bin (Alternative) * 3. tools/bin (Legacy) */ private resolveSDKToolsPath; /** * Get path to sdkmanager executable (Legacy method, kept for reference but unused internally now) */ private getSDKManagerPath; /** * Get path to avdmanager executable */ private getAVDManagerPath; /** * Resolve the effective JAVA_HOME for child processes. * detectJava() does not set process.env.JAVA_HOME — only installJava() does. * When Java was already installed before this session, JAVA_HOME may be absent. */ private getEffectiveJavaHome; /** * Run sdkmanager command */ private runSDKManager; /** * Accept all SDK licenses */ acceptLicenses(): Promise; /** * Install an SDK component * @param skipLicenses - Skip accepting licenses (use when licenses were already accepted * in the calling context, e.g. installRequiredComponents) */ installComponent(component: string, progressLabel?: string, { skipLicenses }?: { skipLicenses?: boolean; }): Promise; /** * List installed SDK components */ listInstalled(): Promise; /** * Parse sdkmanager list output */ private parseSDKList; /** * Update all installed components */ updateAll(): Promise; /** * Check if a component is installed */ isComponentInstalled(component: string): Promise; /** * Install all required components for JetStart */ installRequiredComponents(): Promise; /** * Detect missing required components */ detectMissingComponents(): Promise; /** * Create local.properties file with SDK path */ createLocalProperties(projectPath: string): Promise; } /** * Create an SDK manager instance */ export declare function createSDKManager(sdkRoot?: string): AndroidSDKManager; //# sourceMappingURL=android-sdk.d.ts.map