import { PermissionService } from './enum';
import type { XCUITestDriver } from '../driver';
import type { PermissionState } from './types';
/**
 * Resets the given permission for the active application under test.
 * Works for both Simulator and real devices using Xcode SDK 11.4+
 *
 * @param service - One of the available service names. This could also be an integer protected resource identifier; see [this list](https://developer.apple.com/documentation/xctest/xcuiprotectedresource?language=objc)
 * @throws If permission reset fails on the device.
 */
export declare function mobileResetPermission(this: XCUITestDriver, service: PermissionService | number): Promise<void>;
/**
 * Gets application permission state on a simulated device.
 *
 * **This method requires [WIX applesimutils](https://github.com/wix/AppleSimulatorUtils) to be installed on the Appium server host.**
 *
 * @param bundleId - Bundle identifier of the target application
 * @param service - Service name
 * @returns Either 'yes', 'no', 'unset' or 'limited'
 * @throws If permission getting fails or the device is not a Simulator.
 * @group Simulator Only
 */
export declare function mobileGetPermission(this: XCUITestDriver, bundleId: string, service: PermissionService): Promise<PermissionState>;
/**
 * Set application permission state on Simulator.
 *
 * @param access - One or more access rules to set.
 * @param bundleId - Bundle identifier of the target application
 * @since Xcode SDK 11.4
 * @throws If permission setting fails or the device is not a Simulator.
 * @group Simulator Only
 */
export declare function mobileSetPermissions(this: XCUITestDriver, access: Record<string, PermissionState>, bundleId: string): Promise<void>;
//# sourceMappingURL=permissions.d.ts.map