///
import { BundleId, CapabilityOptionMap, CapabilityType, MerchantId } from '@szdziedzic/apple-utils';
import { JSONObject, JSONValue } from '@expo/json-file';
export declare const EXPO_NO_CAPABILITY_SYNC: boolean;
type GetOptionsMethod = (entitlement: JSONValue, entitlementsJson: JSONObject) => CapabilityOptionMap[T];
/**
* Given an entitlements JSON object, synchronizes the remote capabilities for a bundle identifier.
*
* Example entitlements JSON:
* ```js
* {
* 'com.apple.developer.healthkit': true,
* 'com.apple.developer.in-app-payments': ['merchant.com.example.development'],
* }
* ```
*
* @param bundleId bundle identifier object
* @param entitlements JSON representation of the entitlements plist
* @returns
*/
export declare function syncCapabilitiesForEntitlementsAsync(bundleId: BundleId, entitlements?: JSONObject): Promise<{
enabled: string[];
disabled: string[];
}>;
export declare function assertValidOptions(classifier: CapabilityClassifier, value: any): asserts value;
type CapabilityClassifier = {
name: string;
entitlement: string;
capability: CapabilityType;
validateOptions: (options: any) => boolean;
getOptions: GetOptionsMethod;
capabilityIdModel?: typeof MerchantId;
capabilityIdPrefix?: string;
options?: undefined;
};
export declare const CapabilityMapping: CapabilityClassifier[];
export {};