/**
 * Asserts that IDB is present and that launchWithIDB was used
 *
 * @param {XCUITestDriver['opts']} opts Opts object from the driver instance
 */
export function assertIDB(opts: XCUITestDriver["opts"]): any;
/**
 * Parse the stdout of XC test log
 * @param {string} stdout A line of standard out from `idb xctest run ...`
 * @returns {XCTestResult[]|string[]} results The final output of the XCTest run
 */
export function parseXCTestStdout(stdout: string): XCTestResult[] | string[];
declare namespace _default {
    /**
     * Run a native XCTest script.
     *
     * Launches a subprocess that runs the XC Test and blocks until it is completed. Parses the stdout of the process and returns its result as an array.
     *
     * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** to run such tests; see [the idb docs](https://fbidb.io/docs/test-execution/) for reference.
     *
     * @param {string} testRunnerBundleId - Test app bundle (e.g.: `io.appium.XCTesterAppUITests.xctrunner`)
     * @param {string} appUnderTestBundleId - App-under-test bundle
     * @param {string} xcTestBundleId - XCTest bundle ID
     * @param {string[]} args - Launch arguments to start the test with (see [reference documentation](https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments))
     * @param {'app'|'ui'|'logic'} testType - XC test type
     * @param {import('@appium/types').StringRecord} [env] - Environment variables passed to test
     * @param {number} timeout - Timeout (in ms) for session completion.
     * @throws {XCUITestError} Error thrown if subprocess returns non-zero exit code
     * @returns {Promise<import('./types').RunXCTestResult>} The array of test results
     * @this {XCUITestDriver}
     */
    function mobileRunXCTest(this: import("../driver").XCUITestDriver, testRunnerBundleId: string, appUnderTestBundleId: string, xcTestBundleId: string, args?: string[], testType?: "app" | "ui" | "logic", env?: import("@appium/types").StringRecord, timeout?: number): Promise<import("./types").RunXCTestResult>;
    /**
     * Installs an XCTest bundle to the device under test.
     *
     * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
     *
     * @param {string} xctestApp - Path of the XCTest app (URL or filename with extension `.app`)
     * @returns {Promise<void>}
     * @this {XCUITestDriver}
     */
    function mobileInstallXCTestBundle(this: import("../driver").XCUITestDriver, xctestApp: string): Promise<void>;
    /**
     * List XCTest bundles that are installed on the device.
     *
     * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
     *
     * @returns {Promise<string[]>} List of XCTest bundles (e.g.: `XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance`)
     * @this {XCUITestDriver}
     */
    function mobileListXCTestBundles(this: import("../driver").XCUITestDriver): Promise<string[]>;
    /**
     * List XCTests in a test bundle
     *
     * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
     * @param {string} bundle - Bundle ID of the XCTest
     *
     * @returns {Promise<string[]>} The list of xctests in the test bundle (e.g., `['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance']`)
     * @this {XCUITestDriver}
     */
    function mobileListXCTestsInTestBundle(this: import("../driver").XCUITestDriver, bundle: string): Promise<string[]>;
}
export default _default;
export type XCUITestError = Error;
export type XCUITestDriver = import("../driver").XCUITestDriver;
export type XCTestResult = import("./types").XCTestResult;
//# sourceMappingURL=xctest.d.ts.map