/**
 * WebDriverAgent (WDA) Preparation Module
 *
 * This module provides functionality to build, sign, and package WebDriverAgent for iOS devices.
 * It is used via the WebSocket API from the hub UI, not as a CLI command.
 *
 * The prepareWda function is called with the following options:
 *   - provisioningUUID: UUID of the provisioning profile to use (REQUIRED)
 *   - isFreeAccount: Whether this is a free or enterprise account (REQUIRED)
 *   - outputFileName: Custom output filename without .ipa extension (optional, defaults to 'wda-resign')
 *   - uploadToHub: Whether to upload to hub after build (optional, defaults to true)
 *   - setAsDefault: Whether to set as default WDA (optional, defaults to false)
 *   - wdaProjectPath: Path to WebDriverAgent xcode project (optional, auto-detected if not provided)
 *   - platform: Platform type: ios, tvos, or both (optional, defaults to 'ios')
 *   - onProgress: Callback for progress updates (optional)
 */
export interface PrepareWdaOptions {
    mobileProvisioningFile?: string;
    provisioningUUID: string;
    isFreeAccount: boolean;
    bundleId?: string;
    outputFileName?: string;
    uploadToHub?: boolean;
    setAsDefault?: boolean;
    wdaProjectPath?: string;
    platform?: 'ios' | 'tvos' | 'both';
    onProgress?: (step: string, message: string, progress?: number) => void;
}
export interface PrepareWdaResult {
    success: boolean;
    message: string;
    ipaPath?: string;
    wdaId?: string;
    bundleId?: string;
    error?: string;
}
/**
 * Get provisioning profile path based on Xcode version
 */
export declare function getProvisioningProfilePath(): Promise<string>;
/**
 * Main function to prepare WDA (non-interactive, API-driven)
 *
 * This function is called via WebSocket from the hub UI. All parameters
 * must be provided - there are no interactive prompts.
 */
export declare function prepareWda(options: PrepareWdaOptions): Promise<PrepareWdaResult>;
/**
 * List available provisioning profiles on this machine
 * Used by the hub UI to populate the profile selection dropdown
 */
export declare function listProvisioningProfiles(): Promise<{
    profiles: Array<{
        uuid: string;
        name: string;
        teamName: string;
        filePath: string;
    }>;
}>;
//# sourceMappingURL=prepare-wda.d.ts.map