1import { ExpoConfig } from '@expo/config-types'; 2import { ConfigPlugin } from '../Plugin.types'; 3import { AndroidManifest, ManifestUsesPermission } from './Manifest'; 4export declare const withPermissions: ConfigPlugin<string[] | void>; 5/** Given a permission or list of permissions, block permissions in the final `AndroidManifest.xml` to ensure no installed library or plugin can add them. */ 6export declare const withBlockedPermissions: ConfigPlugin<string[] | string>; 7export declare const withInternalBlockedPermissions: ConfigPlugin; 8export declare function addBlockedPermissions(androidManifest: AndroidManifest, permissions: string[]): AndroidManifest; 9export declare function getAndroidPermissions(config: Pick<ExpoConfig, 'android'>): string[]; 10export declare function setAndroidPermissions(config: Pick<ExpoConfig, 'android'>, androidManifest: AndroidManifest): AndroidManifest; 11export declare function isPermissionAlreadyRequested(permission: string, manifestPermissions: ManifestUsesPermission[]): boolean; 12export declare function addPermissionToManifest(permission: string, manifestPermissions: ManifestUsesPermission[]): ManifestUsesPermission[]; 13export declare function removePermissions(androidManifest: AndroidManifest, permissionNames?: string[]): void; 14export declare function addPermission(androidManifest: AndroidManifest, permissionName: string): void; 15export declare function ensurePermissions(androidManifest: AndroidManifest, permissionNames: string[]): { 16 [permission: string]: boolean; 17}; 18export declare function ensurePermission(androidManifest: AndroidManifest, permissionName: string): boolean; 19export declare function ensurePermissionNameFormat(permissionName: string): string; 20export declare function getPermissions(androidManifest: AndroidManifest): string[]; 21