import { AppleRelayResponse, AppleRelayWebSocketClient } from './relay'; export type AppleDeveloperPortalTeam = { name?: string; teamId?: string; providerId?: string | number; publicProviderId?: string; type?: string; subType?: string; }; export type AppleDeveloperPortalDevice = { deviceId?: string; name?: string; deviceNumber?: string; deviceClass?: string; model?: string; status?: string; }; export type AppleDeveloperPortalAppID = { appId?: string; appIdId?: string; identifier?: string; bundleId?: string; name?: string; prefix?: string; platform?: string; }; export type AppleDeveloperPortalResponse = { resultCode?: number; resultString?: string; userString?: string; teams?: AppleDeveloperPortalTeam[]; provider?: AppleDeveloperPortalTeam; availableProviders?: AppleDeveloperPortalTeam[]; appIds?: AppleDeveloperPortalAppID[]; devices?: AppleDeveloperPortalDevice[]; certRequests?: Array>; certRequest?: Record; appId?: Record; device?: Record; provisioningProfile?: Record; provisioningProfiles?: Array>; }; export type AppleRelayClientOptions = { relay: AppleRelayWebSocketClient; }; export type AppleTeamScopedOptions = AppleRelayClientOptions & { teamId?: string; }; export type AppleCertificateKind = 'development' | 'distribution'; export type AppleProfileKind = 'development' | 'adhoc' | 'appstore'; export declare function listAppleTeams({ relay }: AppleRelayClientOptions): Promise; export type ListAppleCertificatesOptions = AppleTeamScopedOptions & { certificateKind?: AppleCertificateKind; }; export declare function listAppleCertificates({ relay, teamId, certificateKind, }: ListAppleCertificatesOptions): Promise[]>; export type CreateAppleCertificateOptions = AppleTeamScopedOptions & { certificateKind?: AppleCertificateKind; csrPEM: string; }; export declare function createAppleCertificate({ relay, teamId, certificateKind, csrPEM, }: CreateAppleCertificateOptions): Promise | undefined>; export type DownloadAppleCertificateOptions = AppleTeamScopedOptions & { certificateKind?: AppleCertificateKind; certificateId: string; }; /** Returns the relay response; the certificate DER is in rawBodyBase64. */ export declare function downloadAppleCertificate({ relay, teamId, certificateKind, certificateId, }: DownloadAppleCertificateOptions): Promise; export type DeleteAppleCertificateOptions = AppleTeamScopedOptions & { certificateKind?: AppleCertificateKind; certificateId: string; }; export declare function deleteAppleCertificate({ relay, teamId, certificateKind, certificateId, }: DeleteAppleCertificateOptions): Promise; export type ListAppleBundleIDsOptions = AppleTeamScopedOptions & { search?: string; }; export declare function listAppleBundleIDs({ relay, teamId, search }: ListAppleBundleIDsOptions): Promise; export type CreateAppleBundleIDOptions = AppleTeamScopedOptions & { bundleId: string; name?: string; }; export declare function createAppleBundleID({ relay, teamId, bundleId, name, }: CreateAppleBundleIDOptions): Promise | undefined>; export type DeleteAppleBundleIDOptions = AppleTeamScopedOptions & { appIdId: string; }; export declare function deleteAppleBundleID({ relay, teamId, appIdId }: DeleteAppleBundleIDOptions): Promise; export type ListAppleDevicesOptions = AppleTeamScopedOptions & { deviceUDID?: string; }; export declare function listAppleDevices({ relay, teamId, deviceUDID }: ListAppleDevicesOptions): Promise; export type RegisterAppleDeviceOptions = AppleTeamScopedOptions & { deviceUDID: string; name?: string; }; export declare function registerAppleDevice({ relay, teamId, deviceUDID, name, }: RegisterAppleDeviceOptions): Promise | undefined>; export type DeleteAppleDeviceOptions = AppleTeamScopedOptions & { deviceId: string; }; export declare function deleteAppleDevice({ relay, teamId, deviceId }: DeleteAppleDeviceOptions): Promise; export type ListAppleProfilesOptions = AppleTeamScopedOptions & { profileKind?: AppleProfileKind; /** * Narrows the result to profiles bound to this bundle ID. Applied * client-side (Apple's list endpoint rejects bundle-id-shaped search * values); rows that do not expose their bound bundle ID are kept so * callers matching by name or profile ID still find their profile. */ bundleId?: string; }; export declare function listAppleProfiles({ relay, teamId, profileKind, bundleId, }: ListAppleProfilesOptions): Promise[]>; export type CreateAppleProfileOptions = AppleTeamScopedOptions & { profileKind?: AppleProfileKind; bundleId: string; appIdId: string; certificateIds: string[]; /** Devices the profile binds. Ignored for App Store profiles, which bind none. */ deviceIds?: string[]; /** Profile name. Required for App Store profiles; there is no default. */ name?: string; }; export declare function createAppleProfile({ relay, teamId, profileKind, bundleId, appIdId, certificateIds, deviceIds, name, }: CreateAppleProfileOptions): Promise | undefined>; export type DownloadAppleProfileOptions = AppleTeamScopedOptions & { profileId: string; }; /** Returns the relay response; the .mobileprovision bytes are in rawBodyBase64. */ export declare function downloadAppleProfile({ relay, teamId, profileId }: DownloadAppleProfileOptions): Promise; export type DeleteAppleProfileOptions = AppleTeamScopedOptions & { profileId: string; }; export declare function deleteAppleProfile({ relay, teamId, profileId }: DeleteAppleProfileOptions): Promise; /** Read a string-ish value from a loosely typed portal record. */ export declare function stringField(record: Record | undefined, key: string): string | undefined;