///
///
import { ProfileType } from '@expo/app-store';
import { AscApiKey, AscApiKeyInfo, DistributionCertificate, DistributionCertificateStoreInfo, ProvisioningProfile, ProvisioningProfileStoreInfo, PushKey, PushKeyStoreInfo } from './Credentials.types';
import { Options as AuthenticateOptions } from './authenticate';
import { AuthCtx, AuthenticationMode, UserAuthCtx } from './authenticateTypes';
import { ApplePlatform } from './constants';
import { AppLookupParams, IosCapabilitiesOptions } from './ensureAppExists';
import { ProfileClass } from './provisioningProfile';
import { Analytics } from '../../../analytics/AnalyticsManager';
export default class AppStoreApi {
authCtx?: AuthCtx;
defaultAuthenticationMode: AuthenticationMode;
constructor();
ensureUserAuthenticatedAsync(options?: AuthenticateOptions): Promise;
ensureAuthenticatedAsync(options?: AuthenticateOptions): Promise;
ensureBundleIdExistsAsync(app: AppLookupParams, options?: IosCapabilitiesOptions): Promise;
listDistributionCertificatesAsync(): Promise;
createDistributionCertificateAsync(): Promise;
revokeDistributionCertificateAsync(ids: string[]): Promise;
listPushKeysAsync(): Promise;
createPushKeyAsync(name?: string): Promise;
revokePushKeyAsync(ids: string[]): Promise;
useExistingProvisioningProfileAsync(bundleIdentifier: string, provisioningProfile: ProvisioningProfile, distCert: DistributionCertificate): Promise;
listProvisioningProfilesAsync(bundleIdentifier: string, applePlatform: ApplePlatform, profileClass?: ProfileClass): Promise;
createProvisioningProfileAsync(bundleIdentifier: string, distCert: DistributionCertificate, profileName: string, applePlatform: ApplePlatform, profileClass?: ProfileClass): Promise;
revokeProvisioningProfileAsync(bundleIdentifier: string, applePlatform: ApplePlatform, profileClass?: ProfileClass): Promise;
createOrReuseAdhocProvisioningProfileAsync(udids: string[], bundleIdentifier: string, distCertSerialNumber: string, profileType: ProfileType): Promise;
listAscApiKeysAsync(): Promise;
getAscApiKeyAsync(keyId: string): Promise;
createAscApiKeyAsync(analytics: Analytics, { nickname }: {
nickname: string;
}): Promise;
revokeAscApiKeyAsync(keyId: string): Promise;
}