import type { DeviceInfo } from '../types';
/**
 * Arguments for setting xctestrun file
 */
export interface XctestrunFileArgs {
    deviceInfo: DeviceInfo;
    sdkVersion: string;
    bootstrapPath: string;
    wdaRemotePort: number | string;
    wdaBindingIP?: string;
    maxHttpRequestBodySize?: number | string;
}
/**
 * Creates xctestrun file per device & platform version.
 * We expect to have WebDriverAgentRunner_iphoneos${sdkVersion|platformVersion}-arm64.xctestrun for real device
 * and WebDriverAgentRunner_iphonesimulator${sdkVersion|platformVersion}-${x86_64|arm64}.xctestrun for simulator located @bootstrapPath
 * Newer Xcode (Xcode 10.0 at least) generates xctestrun file following sdkVersion.
 * e.g. Xcode which has iOS SDK Version 12.2 on an intel Mac host machine generates WebDriverAgentRunner_iphonesimulator.2-x86_64.xctestrun
 *      even if the cap has platform version 11.4
 *
 * @param args
 * @return returns xctestrunFilePath for given device
 * @throws if WebDriverAgentRunner_iphoneos${sdkVersion|platformVersion}-arm64.xctestrun for real device
 * or WebDriverAgentRunner_iphonesimulator${sdkVersion|platformVersion}-x86_64.xctestrun for simulator is not found @bootstrapPath,
 * then it will throw a file not found exception
 */
export declare function setXctestrunFile(args: XctestrunFileArgs): Promise<string>;
/**
 * Return the WDA object which appends existing xctest runner content
 * @param platformName - The name of the platform
 * @param wdaRemotePort - The remote port number
 * @param wdaBindingIP - The IP address to bind to. If not given, it binds to all interfaces.
 * @param maxHttpRequestBodySize - The maximum HTTP request body size in bytes.
 * @return returns a runner object which has USE_PORT and optionally USE_IP
 */
export declare function getAdditionalRunContent(platformName: string, wdaRemotePort: number | string, wdaBindingIP?: string, maxHttpRequestBodySize?: number | string): Record<string, any>;
/**
 * Return the path of xctestrun if it exists
 * @param deviceInfo
 * @param sdkVersion - The Xcode SDK version of OS.
 * @param bootstrapPath - The folder path containing xctestrun file.
 */
export declare function getXctestrunFilePath(deviceInfo: DeviceInfo, sdkVersion: string, bootstrapPath: string): Promise<string>;
/**
 * Return the name of xctestrun file
 * @param deviceInfo
 * @param version - The Xcode SDK version of OS.
 * @return returns xctestrunFilePath for given device
 */
export declare function getXctestrunFileName(deviceInfo: DeviceInfo, version: string): string;
//# sourceMappingURL=xctestrun.d.ts.map