/**
 * pymobiledevice3 CLI wrapper functions
 * Uses the standalone executable instead of HTTP service
 */
import type { CloudConfiguration, CommandResult, PyMobileDeviceInfo } from "./types";
/**
 * List connected iOS devices
 */
export declare function listDevices(options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<PyMobileDeviceInfo[]>;
/**
 * Get device lockdown info
 */
export declare function info(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<Record<string, unknown>>;
/**
 * Erase the device using pymobiledevice3
 * Note: For iOS 17+, ensure Developer Mode is enabled and tunnel daemon is running
 */
export declare function eraseDevice(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Supervise the device (full supervision with organization)
 * @deprecated Use setCloudConfiguration instead (gen2 style)
 */
export declare function superviseDevice(udid: string, organizationName: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Set cloud configuration from a plist file (gen2 style)
 * This is preferred over superviseDevice as it uses cloud-configuration command
 */
export declare function setCloudConfiguration(udid: string, plistPath: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Get cloud configuration from device
 */
export declare function getCloudConfiguration(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CloudConfiguration | null>;
/**
 * Launch an app on the device
 * Requires Developer Mode and tunnel for iOS 17+
 */
export declare function launchApp(udid: string, appId: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Set device language
 */
export declare function setLanguage(udid: string, language: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Set device locale
 */
export declare function setLocale(udid: string, locale: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Restart the device
 */
export declare function restartDevice(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Check Developer Mode status on the device
 */
export declare function checkDeveloperModeStatus(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<boolean>;
/**
 * Enable Developer Mode on the device
 * Note: Device will need to restart after this, and user must confirm Developer Mode on the device
 */
export declare function enableDeveloperMode(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
    useTunnel?: boolean;
}): Promise<CommandResult>;
/**
 * Activate the device
 */
export declare function activateDevice(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Pair with the device
 */
export declare function pairDevice(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Get device info for specific UDIDs
 */
export declare function getDevicesInfo(udids: string[], options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<PyMobileDeviceInfo[]>;
/**
 * Check if device is supervised
 */
export declare function isDeviceSupervised(udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<boolean>;
/**
 * Wait for device to appear after reboot
 */
export declare function waitForDevice(udid: string, timeout?: number, options?: {
    executablePath?: string;
}): Promise<boolean>;
/**
 * Wait for device to disappear (during reboot)
 */
export declare function waitForDeviceDisconnect(udid: string, timeout?: number, options?: {
    executablePath?: string;
}): Promise<boolean>;
/**
 * Generate a temporary profile file from data
 */
export declare function generateProfile(profileData: string, name?: string): Promise<string>;
/**
 * Install a profile on a device from a file path
 */
export declare function installProfile(profilePath: string, udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Install a profile on a device from a file path
 */
export declare function installProfileFromFile(profileFilePath: string, udid: string, name?: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Uninstall an app from a device
 */
export declare function uninstallApp(bundleId: string, udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<CommandResult>;
/**
 * Check if an app is installed on a device
 */
export declare function isAppInstalled(bundleId: string, udid: string, options?: {
    executablePath?: string;
    timeout?: number;
}): Promise<boolean>;
//# sourceMappingURL=pymobiledevice.d.ts.map