import { ProfileType } from '@expo/app-store'; import { UserRole } from '@expo/apple-utils'; 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, roles }: { nickname: string; roles?: UserRole[]; }): Promise; revokeAscApiKeyAsync(keyId: string): Promise; }