@expo/apple-utils 2.1.12 → 2.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/apple-utils",
3
- "version": "2.1.12",
3
+ "version": "2.1.14",
4
4
  "main": "build",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -1382,6 +1382,34 @@ declare module "connect/models/ContentProvider" {
1382
1382
  } | undefined) => Promise<ContentProvider[]>;
1383
1383
  }
1384
1384
  }
1385
+ declare module "connect/models/AppClip" {
1386
+ import { ConnectModel } from "connect/models/ConnectModel";
1387
+ export interface AppClipProps {
1388
+ /**
1389
+ * The bundle identifier of the App Clip.
1390
+ * @example 'com.bacon.app.Clip'
1391
+ */
1392
+ bundleId: string;
1393
+ }
1394
+ /**
1395
+ * An App Clip associated with an app in App Store Connect.
1396
+ *
1397
+ * App Clips are lightweight versions of apps that let users perform quick tasks
1398
+ * without downloading the full app.
1399
+ */
1400
+ export class AppClip extends ConnectModel<AppClipProps> {
1401
+ static type: string;
1402
+ /**
1403
+ * Get a single App Clip by ID.
1404
+ *
1405
+ * @param id App Clip ID
1406
+ */
1407
+ static infoAsync: (context: import("AppStoreConnect").RequestContext, props: {
1408
+ id: string;
1409
+ query?: import("connect/ConnectAPI").ConnectQueryParams;
1410
+ }) => Promise<AppClip>;
1411
+ }
1412
+ }
1385
1413
  declare module "connect/models/AppDataUsageGrouping" {
1386
1414
  import { ConnectModel } from "connect/models/ConnectModel";
1387
1415
  export interface AppDataUsageGroupingProps {
@@ -1903,7 +1931,8 @@ declare module "connect/models/BundleIdCapability" {
1903
1931
  TAP_TO_PAY_ON_IPHONE = "TAP_TO_PAY_ON_IPHONE",
1904
1932
  JOURNALING_SUGGESTIONS = "JOURNALING_SUGGESTIONS",// ok
1905
1933
  MANAGED_APP_INSTALLATION_UI = "MANAGED_APP_INSTALLATION_UI",// ok
1906
- MARZIPAN = "MARZIPAN"
1934
+ MARZIPAN = "MARZIPAN",// Catalyst
1935
+ ON_DEMAND_INSTALL_CAPABLE = "ON_DEMAND_INSTALL_CAPABLE"
1907
1936
  }
1908
1937
  export enum CapabilityTypeOption {
1909
1938
  ON = "ON",
@@ -2011,6 +2040,7 @@ declare module "connect/models/BundleIdCapability" {
2011
2040
  [CapabilityType.SUSTAINED_EXECUTION]: CapabilityTypeOption;
2012
2041
  [CapabilityType.JOURNALING_SUGGESTIONS]: CapabilityTypeOption;
2013
2042
  [CapabilityType.MANAGED_APP_INSTALLATION_UI]: CapabilityTypeOption;
2043
+ [CapabilityType.ON_DEMAND_INSTALL_CAPABLE]: CapabilityTypeOption;
2014
2044
  }
2015
2045
  enum CapabilitySettingKey {
2016
2046
  ICLOUD_VERSION = "ICLOUD_VERSION",
@@ -2542,6 +2572,24 @@ declare module "connect/models/BundleId" {
2542
2572
  platform?: BundleIdProps['platform'];
2543
2573
  identifier: string;
2544
2574
  }): Promise<BundleId>;
2575
+ /**
2576
+ * Creates an App Clip bundle identifier.
2577
+ *
2578
+ * App Clip bundle IDs follow the convention `{main-bundle-id}.Clip`.
2579
+ * Requires session auth (cookies) - API token auth won't work.
2580
+ *
2581
+ * @param context Request context with session auth
2582
+ * @param name Display name for the App Clip bundle ID
2583
+ * @param platform Target platform (defaults to IOS)
2584
+ * @param identifier Bundle identifier (should be {main-bundle-id}.Clip)
2585
+ * @param parentBundleIdId Opaque ID of the parent BundleId (e.g., "6GXS684248")
2586
+ */
2587
+ static createAppClipAsync(context: RequestContext, { name, platform, identifier, parentBundleIdId, }: {
2588
+ name: string;
2589
+ platform?: BundleIdProps['platform'];
2590
+ identifier: string;
2591
+ parentBundleIdId: string;
2592
+ }): Promise<BundleId>;
2545
2593
  static deleteAsync: (context: RequestContext, props: {
2546
2594
  id: string;
2547
2595
  }) => Promise<void>;
@@ -2560,6 +2608,10 @@ declare module "connect/models/BundleId" {
2560
2608
  query?: Pick<ConnectQueryParams<object>, 'limit'>;
2561
2609
  }): Promise<Profile[]>;
2562
2610
  supportsCatalyst(): boolean;
2611
+ /**
2612
+ * Returns true if this bundle ID is an App Clip.
2613
+ */
2614
+ isAppClip(): boolean;
2563
2615
  getCapabilityId(capabilityType: CapabilityType): string;
2564
2616
  private getOrFetchBundleIdCapabilitiesAsync;
2565
2617
  hasCapabilityAsync(capability: CapabilityType): Promise<BundleIdCapability | null>;
@@ -2774,6 +2826,192 @@ declare module "connect/models/AppStoreReviewDetail" {
2774
2826
  uploadAttachmentAsync(filePath: string): Promise<AppStoreReviewAttachment>;
2775
2827
  }
2776
2828
  }
2829
+ declare module "connect/models/AppPreview" {
2830
+ import { RequestContext } from "network/Request";
2831
+ import { AppMediaAssetState, ImageAsset, UploadOperation } from "connect/AssetAPI";
2832
+ import { ConnectModel } from "connect/models/ConnectModel";
2833
+ export interface AppPreviewProps {
2834
+ fileSize: number;
2835
+ fileName: string;
2836
+ sourceFileChecksum: string;
2837
+ /**
2838
+ * Time code for the preview frame (poster image).
2839
+ * Format: "MM:SS:FF" where FF is frames (e.g., "00:05:00" for 5 seconds)
2840
+ * @example "00:05:00"
2841
+ */
2842
+ previewFrameTimeCode: string | null;
2843
+ mimeType: string;
2844
+ /**
2845
+ * URL to download the processed video preview.
2846
+ * Only available after processing is complete.
2847
+ */
2848
+ videoUrl: string | null;
2849
+ /**
2850
+ * Preview frame/poster image asset.
2851
+ * Contains templateUrl with {w}, {h}, {f} placeholders.
2852
+ */
2853
+ previewImage: ImageAsset | null;
2854
+ uploadOperations: UploadOperation[];
2855
+ assetDeliveryState: AppMediaAssetState;
2856
+ }
2857
+ /**
2858
+ * App Preview (video) for App Store listings.
2859
+ * Previews are short videos that demonstrate your app's features.
2860
+ */
2861
+ export class AppPreview extends ConnectModel<AppPreviewProps> {
2862
+ static type: string;
2863
+ static infoAsync: (context: RequestContext, props: {
2864
+ id: string;
2865
+ query?: import("connect/ConnectAPI").ConnectQueryParams;
2866
+ }) => Promise<AppPreview>;
2867
+ static createAsync(context: RequestContext, { id, attributes, }: {
2868
+ /** AppPreviewSet ID */
2869
+ id: string;
2870
+ attributes: Pick<AppPreviewProps, 'fileName' | 'fileSize'> & {
2871
+ /** Optional MIME type (e.g., "video/mp4", "video/quicktime") */
2872
+ mimeType?: string;
2873
+ };
2874
+ }): Promise<AppPreview>;
2875
+ /**
2876
+ * Upload a video preview file.
2877
+ * @param id AppPreviewSet ID
2878
+ * @param filePath Path to the video file (MP4, MOV)
2879
+ * @param waitForProcessing Wait for Apple to process the video (default: true)
2880
+ * @param previewFrameTimeCode Optional time code for preview frame (e.g., "00:05:00" for 5 seconds)
2881
+ */
2882
+ static uploadAsync(context: RequestContext, { id, filePath, waitForProcessing, previewFrameTimeCode, }: {
2883
+ id: string;
2884
+ filePath: string;
2885
+ waitForProcessing?: boolean;
2886
+ previewFrameTimeCode?: string;
2887
+ }): Promise<AppPreview>;
2888
+ static deleteAsync: (context: RequestContext, props: {
2889
+ id: string;
2890
+ }) => Promise<void>;
2891
+ deleteAsync(): Promise<void>;
2892
+ updateAsync(options: Partial<AppPreviewProps> & {
2893
+ uploaded?: boolean;
2894
+ }): Promise<AppPreview>;
2895
+ isAwaitingUpload(): boolean;
2896
+ isProcessing(): boolean;
2897
+ isComplete(): boolean;
2898
+ isFailed(): boolean;
2899
+ getErrorMessages(): string[];
2900
+ /**
2901
+ * Get the video URL for downloading the preview.
2902
+ * Only available after processing is complete.
2903
+ */
2904
+ getVideoUrl(): string | null;
2905
+ /**
2906
+ * Get the preview frame (poster) image URL.
2907
+ * Returns null if not available.
2908
+ */
2909
+ getPreviewImageUrl({ width, height, type, }?: {
2910
+ width?: number;
2911
+ height?: number;
2912
+ type?: string;
2913
+ }): string | null;
2914
+ }
2915
+ }
2916
+ declare module "connect/models/AppPreviewSet" {
2917
+ import { RequestContext } from "network/Request";
2918
+ import { ConnectQueryParams } from "connect/ConnectAPI";
2919
+ import { AppPreview } from "connect/models/AppPreview";
2920
+ import { ConnectModel } from "connect/models/ConnectModel";
2921
+ export interface AppPreviewSetProps {
2922
+ previewType: PreviewType;
2923
+ appPreviews: AppPreview[];
2924
+ }
2925
+ /**
2926
+ * Display types for app previews.
2927
+ * Each type corresponds to a specific device screen size.
2928
+ */
2929
+ export enum PreviewType {
2930
+ IPHONE_35 = "IPHONE_35",
2931
+ IPHONE_40 = "IPHONE_40",
2932
+ IPHONE_47 = "IPHONE_47",
2933
+ IPHONE_55 = "IPHONE_55",
2934
+ IPHONE_58 = "IPHONE_58",
2935
+ IPHONE_61 = "IPHONE_61",
2936
+ IPHONE_65 = "IPHONE_65",
2937
+ IPHONE_67 = "IPHONE_67",
2938
+ IPAD_97 = "IPAD_97",
2939
+ IPAD_105 = "IPAD_105",
2940
+ IPAD_PRO_129 = "IPAD_PRO_129",
2941
+ IPAD_PRO_3GEN_11 = "IPAD_PRO_3GEN_11",
2942
+ IPAD_PRO_3GEN_129 = "IPAD_PRO_3GEN_129",
2943
+ WATCH_SERIES_3 = "WATCH_SERIES_3",
2944
+ WATCH_SERIES_4 = "WATCH_SERIES_4",
2945
+ WATCH_SERIES_7 = "WATCH_SERIES_7",
2946
+ WATCH_SERIES_10 = "WATCH_SERIES_10",
2947
+ WATCH_ULTRA = "WATCH_ULTRA",
2948
+ APPLE_TV = "APPLE_TV",
2949
+ APPLE_VISION_PRO = "APPLE_VISION_PRO",
2950
+ DESKTOP = "DESKTOP"
2951
+ }
2952
+ export const ALL_PREVIEW_TYPES: PreviewType[];
2953
+ /**
2954
+ * App Preview Set - groups app previews by display type.
2955
+ * Each set contains previews for a specific device screen size.
2956
+ */
2957
+ export class AppPreviewSet extends ConnectModel<AppPreviewSetProps> {
2958
+ static type: string;
2959
+ /**
2960
+ * Get info for a specific AppPreviewSet.
2961
+ * @param id AppPreviewSet ID
2962
+ */
2963
+ static infoAsync: (context: RequestContext, props: {
2964
+ id: string;
2965
+ query?: ConnectQueryParams;
2966
+ }) => Promise<AppPreviewSet>;
2967
+ /**
2968
+ * Create a new AppPreviewSet for a localization.
2969
+ * @param id AppStoreVersionLocalization ID
2970
+ * @param attributes Preview type attributes
2971
+ */
2972
+ static createAsync(context: RequestContext, { id, attributes, }: {
2973
+ id: string;
2974
+ attributes: Pick<AppPreviewSetProps, 'previewType'>;
2975
+ }): Promise<AppPreviewSet>;
2976
+ /**
2977
+ * Update the order of previews in this set.
2978
+ */
2979
+ updateAsync({ appPreviews }: {
2980
+ appPreviews: string[];
2981
+ }): Promise<AppPreviewSet>;
2982
+ static deleteAsync: (context: RequestContext, props: {
2983
+ id: string;
2984
+ }) => Promise<void>;
2985
+ deleteAsync(): Promise<void>;
2986
+ isIphone(): boolean;
2987
+ isIpad(): boolean;
2988
+ isWatch(): boolean;
2989
+ isAppleTv(): boolean;
2990
+ isAppleVisionPro(): boolean;
2991
+ isDesktop(): boolean;
2992
+ /**
2993
+ * Upload a video preview to this set.
2994
+ * @param filePath Path to the video file (MP4, MOV)
2995
+ * @param waitForProcessing Wait for Apple to process the video
2996
+ * @param position Optional position to insert the preview
2997
+ * @param previewFrameTimeCode Optional time code for the preview frame (e.g., "00:05:00")
2998
+ */
2999
+ uploadPreview({ filePath, waitForProcessing, position, previewFrameTimeCode, }: {
3000
+ filePath: string;
3001
+ waitForProcessing?: boolean;
3002
+ position?: number;
3003
+ previewFrameTimeCode?: string;
3004
+ }): Promise<AppPreview>;
3005
+ /**
3006
+ * Reorder previews in this set.
3007
+ * @param appPreviews Array of AppPreview IDs in desired order
3008
+ */
3009
+ reorderPreviewsAsync({ appPreviews, query, }: {
3010
+ appPreviews: string[];
3011
+ query?: ConnectQueryParams;
3012
+ }): Promise<AppPreviewSet[]>;
3013
+ }
3014
+ }
2777
3015
  declare module "connect/models/AppScreenshot" {
2778
3016
  import { RequestContext } from "network/Request";
2779
3017
  import { AppMediaAssetState, ImageAsset, UploadOperation } from "connect/AssetAPI";
@@ -2905,6 +3143,7 @@ declare module "connect/models/AppScreenshotSet" {
2905
3143
  declare module "connect/models/AppStoreVersionLocalization" {
2906
3144
  import { RequestContext } from "network/Request";
2907
3145
  import { ConnectQueryFilter, ConnectQueryParams } from "connect/ConnectAPI";
3146
+ import { AppPreviewSet, AppPreviewSetProps } from "connect/models/AppPreviewSet";
2908
3147
  import { AppScreenshotSet, AppScreenshotSetProps } from "connect/models/AppScreenshotSet";
2909
3148
  import { ConnectModel } from "connect/models/ConnectModel";
2910
3149
  export interface AppStoreVersionLocalizationProps {
@@ -2922,6 +3161,7 @@ declare module "connect/models/AppStoreVersionLocalization" {
2922
3161
  supportUrl: string | null;
2923
3162
  whatsNew: string | null;
2924
3163
  appScreenshotSets?: AppScreenshotSet[];
3164
+ appPreviewSets?: AppPreviewSet[];
2925
3165
  }
2926
3166
  /**
2927
3167
  * Used for updating basic metadata.
@@ -2940,6 +3180,10 @@ declare module "connect/models/AppStoreVersionLocalization" {
2940
3180
  query?: ConnectQueryParams<ConnectQueryFilter<AppScreenshotSetProps, 'screenshotDisplayType'>>;
2941
3181
  }): Promise<AppScreenshotSet[]>;
2942
3182
  createAppScreenshotSetAsync(attributes: Pick<AppScreenshotSetProps, 'screenshotDisplayType'>): Promise<AppScreenshotSet>;
3183
+ getAppPreviewSetsAsync({ query, }?: {
3184
+ query?: ConnectQueryParams<ConnectQueryFilter<AppPreviewSetProps, 'previewType'>>;
3185
+ }): Promise<AppPreviewSet[]>;
3186
+ createAppPreviewSetAsync(attributes: Pick<AppPreviewSetProps, 'previewType'>): Promise<AppPreviewSet>;
2943
3187
  }
2944
3188
  }
2945
3189
  declare module "connect/models/AppStoreVersionPhasedRelease" {
@@ -4113,6 +4357,190 @@ declare module "connect/models/BetaAppTesterDetail" {
4113
4357
  static type: string;
4114
4358
  }
4115
4359
  }
4360
+ declare module "connect/models/BetaFeedbackCrashSubmission" {
4361
+ /**
4362
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/beta-feedback-crash-submissions
4363
+ */
4364
+ import { ConnectQueryFilter } from "connect/ConnectAPI";
4365
+ import { ConnectModel } from "connect/models/ConnectModel";
4366
+ import { Platform } from "connect/models/PreReleaseVersion";
4367
+ /** Device connection type at the time of crash. */
4368
+ export type DeviceConnectionType = 'WIFI' | 'MOBILE_DATA' | 'WIRE' | 'UNKNOWN' | 'NONE';
4369
+ /** Device family type. */
4370
+ export type DeviceFamily = 'IPHONE' | 'IPAD' | 'APPLE_TV' | 'APPLE_WATCH' | 'MAC' | 'VISION';
4371
+ interface BetaFeedbackCrashSubmissionProps {
4372
+ /** @example "2024-12-15T22:40:22.705Z" */
4373
+ createdDate: string;
4374
+ /** Optional comment from the tester about the crash. */
4375
+ comment: string | null;
4376
+ /** @example "user@example.com" */
4377
+ email: string | null;
4378
+ /** @example "iPhone12,1" */
4379
+ deviceModel: string;
4380
+ /** @example "18.2" */
4381
+ osVersion: string;
4382
+ /** @example "en-GB" */
4383
+ locale: string;
4384
+ /** @example "Europe/London" */
4385
+ timeZone: string;
4386
+ /** @example "arm64e" */
4387
+ architecture: string;
4388
+ /** @example "WIFI" */
4389
+ connectionType: DeviceConnectionType;
4390
+ /** Apple Watch paired model, if any. */
4391
+ pairedAppleWatch: string | null;
4392
+ /** App uptime in milliseconds when the crash occurred. */
4393
+ appUptimeInMilliseconds: number | null;
4394
+ /** Available disk space in bytes. */
4395
+ diskBytesAvailable: number | null;
4396
+ /** Total disk space in bytes. */
4397
+ diskBytesTotal: number | null;
4398
+ /** Battery percentage at time of crash. */
4399
+ batteryPercentage: number | null;
4400
+ /** Screen width in points. */
4401
+ screenWidthInPoints: number | null;
4402
+ /** Screen height in points. */
4403
+ screenHeightInPoints: number | null;
4404
+ /** @example "IOS" */
4405
+ appPlatform: Platform;
4406
+ /** @example "IOS" */
4407
+ devicePlatform: Platform;
4408
+ /** @example "IPHONE" */
4409
+ deviceFamily: DeviceFamily;
4410
+ /** Bundle ID of the build. */
4411
+ buildBundleId: string | null;
4412
+ }
4413
+ export type BetaFeedbackCrashSubmissionQueryFilter = ConnectQueryFilter<BetaFeedbackCrashSubmissionProps & {
4414
+ build: string;
4415
+ 'build.preReleaseVersion': string;
4416
+ tester: string;
4417
+ }, 'deviceModel' | 'osVersion' | 'appPlatform' | 'devicePlatform' | 'build' | 'build.preReleaseVersion' | 'tester'>;
4418
+ export class BetaFeedbackCrashSubmission extends ConnectModel<BetaFeedbackCrashSubmissionProps> {
4419
+ static type: string;
4420
+ static DEFAULT_INCLUDES: string[];
4421
+ /**
4422
+ * Get all beta feedback crash submissions for an app.
4423
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-betafeedbackcrashsubmissions
4424
+ */
4425
+ static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
4426
+ query?: import("connect/ConnectAPI").ConnectQueryParams<Partial<{
4427
+ build: string | string[];
4428
+ deviceModel: string | string[];
4429
+ osVersion: string | string[];
4430
+ appPlatform: Platform | Platform[];
4431
+ devicePlatform: Platform | Platform[];
4432
+ 'build.preReleaseVersion': string | string[];
4433
+ tester: string | string[];
4434
+ } & {
4435
+ id?: string;
4436
+ }>> | undefined;
4437
+ } | undefined) => Promise<BetaFeedbackCrashSubmission[]>;
4438
+ /**
4439
+ * Get a single beta feedback crash submission by ID.
4440
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-betafeedbackcrashsubmissions-_id_
4441
+ */
4442
+ static infoAsync: (context: import("AppStoreConnect").RequestContext, props: {
4443
+ id: string;
4444
+ query?: import("connect/ConnectAPI").ConnectQueryParams;
4445
+ }) => Promise<BetaFeedbackCrashSubmission>;
4446
+ /**
4447
+ * Delete a beta feedback crash submission.
4448
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/delete-v1-betafeedbackcrashsubmissions-_id_
4449
+ */
4450
+ static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
4451
+ id: string;
4452
+ }) => Promise<void>;
4453
+ }
4454
+ }
4455
+ declare module "connect/models/BetaFeedbackScreenshotSubmission" {
4456
+ /**
4457
+ * Beta feedback with screenshots from TestFlight testers.
4458
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/betafeedbackscreenshotsubmission
4459
+ */
4460
+ import { ConnectQueryFilter } from "connect/ConnectAPI";
4461
+ import { DeviceConnectionType, DeviceFamily } from "connect/models/BetaFeedbackCrashSubmission";
4462
+ import { ConnectModel } from "connect/models/ConnectModel";
4463
+ import { Platform } from "connect/models/PreReleaseVersion";
4464
+ /** Screenshot image attached to beta feedback. */
4465
+ export interface BetaFeedbackScreenshotImage {
4466
+ /** URL to download the screenshot image. */
4467
+ url: string;
4468
+ /** Width in pixels. */
4469
+ width: number;
4470
+ /** Height in pixels. */
4471
+ height: number;
4472
+ /** When the URL expires. */
4473
+ expirationDate: string;
4474
+ }
4475
+ interface BetaFeedbackScreenshotSubmissionProps {
4476
+ /** @example "2024-12-15T22:40:22.705Z" */
4477
+ createdDate: string;
4478
+ /** Feedback comment from the tester. */
4479
+ comment: string | null;
4480
+ /** @example "user@example.com" */
4481
+ email: string | null;
4482
+ /** @example "iPhone12,1" */
4483
+ deviceModel: string;
4484
+ /** @example "18.2" */
4485
+ osVersion: string;
4486
+ /** @example "en-GB" */
4487
+ locale: string;
4488
+ /** @example "Europe/London" */
4489
+ timeZone: string;
4490
+ /** @example "arm64e" */
4491
+ architecture: string;
4492
+ /** @example "WIFI" */
4493
+ connectionType: DeviceConnectionType;
4494
+ /** Apple Watch paired model, if any. */
4495
+ pairedAppleWatch: string | null;
4496
+ /** App uptime in milliseconds when feedback was submitted. */
4497
+ appUptimeInMilliseconds: number | null;
4498
+ /** Available disk space in bytes. */
4499
+ diskBytesAvailable: number | null;
4500
+ /** Total disk space in bytes. */
4501
+ diskBytesTotal: number | null;
4502
+ /** Battery percentage at time of feedback. */
4503
+ batteryPercentage: number | null;
4504
+ /** Screen width in points. */
4505
+ screenWidthInPoints: number | null;
4506
+ /** Screen height in points. */
4507
+ screenHeightInPoints: number | null;
4508
+ /** @example "IOS" */
4509
+ appPlatform: Platform;
4510
+ /** @example "IOS" */
4511
+ devicePlatform: Platform;
4512
+ /** @example "IPHONE" */
4513
+ deviceFamily: DeviceFamily;
4514
+ /** Bundle ID of the build. */
4515
+ buildBundleId: string | null;
4516
+ /** Screenshots attached to this feedback. */
4517
+ screenshots: BetaFeedbackScreenshotImage[] | null;
4518
+ }
4519
+ export type BetaFeedbackScreenshotSubmissionQueryFilter = ConnectQueryFilter<BetaFeedbackScreenshotSubmissionProps & {
4520
+ build: string;
4521
+ 'build.preReleaseVersion': string;
4522
+ tester: string;
4523
+ }, 'deviceModel' | 'osVersion' | 'appPlatform' | 'devicePlatform' | 'build' | 'build.preReleaseVersion' | 'tester'>;
4524
+ export class BetaFeedbackScreenshotSubmission extends ConnectModel<BetaFeedbackScreenshotSubmissionProps> {
4525
+ static type: string;
4526
+ static DEFAULT_INCLUDES: string[];
4527
+ /**
4528
+ * Get a single beta feedback screenshot submission by ID.
4529
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-betafeedbackscreenshotsubmissions-_id_
4530
+ */
4531
+ static infoAsync: (context: import("AppStoreConnect").RequestContext, props: {
4532
+ id: string;
4533
+ query?: import("connect/ConnectAPI").ConnectQueryParams;
4534
+ }) => Promise<BetaFeedbackScreenshotSubmission>;
4535
+ /**
4536
+ * Delete a beta feedback screenshot submission.
4537
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/delete-v1-betafeedbackscreenshotsubmissions-_id_
4538
+ */
4539
+ static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
4540
+ id: string;
4541
+ }) => Promise<void>;
4542
+ }
4543
+ }
4116
4544
  declare module "connect/models/BetaTesterInvitation" {
4117
4545
  import { RequestContext } from "network/Request";
4118
4546
  import { ConnectModel } from "connect/models/ConnectModel";
@@ -4291,6 +4719,7 @@ declare module "connect/models/Territory" {
4291
4719
  declare module "connect/models/App" {
4292
4720
  import { RequestContext } from "network/Request";
4293
4721
  import { ConnectQueryFilter, ConnectQueryParams } from "connect/ConnectAPI";
4722
+ import { AppClip } from "connect/models/AppClip";
4294
4723
  import { AppDataUsage } from "connect/models/AppDataUsage";
4295
4724
  import { AppDataUsageCategoryId } from "connect/models/AppDataUsageCategory";
4296
4725
  import { AppDataUsageDataProtectionId } from "connect/models/AppDataUsageDataProtection";
@@ -4302,6 +4731,8 @@ declare module "connect/models/App" {
4302
4731
  import { BetaAppLocalization, BetaAppLocalizationProps } from "connect/models/BetaAppLocalization";
4303
4732
  import { BetaAppReviewDetail, BetaAppReviewDetailProps } from "connect/models/BetaAppReviewDetail";
4304
4733
  import { BetaAppTesterDetail } from "connect/models/BetaAppTesterDetail";
4734
+ import { BetaFeedbackCrashSubmission, BetaFeedbackCrashSubmissionQueryFilter } from "connect/models/BetaFeedbackCrashSubmission";
4735
+ import { BetaFeedbackScreenshotSubmission, BetaFeedbackScreenshotSubmissionQueryFilter } from "connect/models/BetaFeedbackScreenshotSubmission";
4305
4736
  import { BetaGroup } from "connect/models/BetaGroup";
4306
4737
  import { BetaTesterInvitation } from "connect/models/BetaTesterInvitation";
4307
4738
  import { Build } from "connect/models/Build";
@@ -4478,6 +4909,27 @@ declare module "connect/models/App" {
4478
4909
  getBetaGroupsAsync({ query, }?: {
4479
4910
  query?: ConnectQueryParams;
4480
4911
  }): Promise<BetaGroup[]>;
4912
+ /**
4913
+ * Get App Clips associated with this app.
4914
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-appclips
4915
+ */
4916
+ getAppClipsAsync({ query, }?: {
4917
+ query?: ConnectQueryParams;
4918
+ }): Promise<AppClip[]>;
4919
+ /**
4920
+ * Get beta feedback crash submissions for this app.
4921
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-betafeedbackcrashsubmissions
4922
+ */
4923
+ getBetaFeedbackCrashSubmissionsAsync({ query, }?: {
4924
+ query?: ConnectQueryParams<BetaFeedbackCrashSubmissionQueryFilter>;
4925
+ }): Promise<BetaFeedbackCrashSubmission[]>;
4926
+ /**
4927
+ * Get beta feedback screenshot submissions for this app.
4928
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-betafeedbackscreenshotsubmissions
4929
+ */
4930
+ getBetaFeedbackScreenshotSubmissionsAsync({ query, }?: {
4931
+ query?: ConnectQueryParams<BetaFeedbackScreenshotSubmissionQueryFilter>;
4932
+ }): Promise<BetaFeedbackScreenshotSubmission[]>;
4481
4933
  getAppDataUsagesPublishStateAsync({ query, }?: {
4482
4934
  query?: ConnectQueryParams;
4483
4935
  }): Promise<AppDataUsagesPublishState[]>;
@@ -4672,6 +5124,28 @@ declare module "connect/models/AppPricePoint" {
4672
5124
  }) => Promise<AppPricePoint>;
4673
5125
  }
4674
5126
  }
5127
+ declare module "connect/models/BetaCrashLog" {
5128
+ /**
5129
+ * The crash log text associated with a beta feedback crash submission.
5130
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/betacrashlog
5131
+ */
5132
+ import { RequestContext } from "network/Request";
5133
+ import { ConnectModel } from "connect/models/ConnectModel";
5134
+ interface BetaCrashLogProps {
5135
+ /** The crash log text content. */
5136
+ logText: string;
5137
+ }
5138
+ export class BetaCrashLog extends ConnectModel<BetaCrashLogProps> {
5139
+ static type: string;
5140
+ /**
5141
+ * Get the crash log for a beta feedback crash submission.
5142
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-betafeedbackcrashsubmissions-_id_-crashlog
5143
+ */
5144
+ static getCrashLogAsync(context: RequestContext, { betaFeedbackCrashSubmissionId }: {
5145
+ betaFeedbackCrashSubmissionId: string;
5146
+ }): Promise<BetaCrashLog>;
5147
+ }
5148
+ }
4675
5149
  declare module "connect/models/SandboxTester" {
4676
5150
  import { RequestContext } from "network/Request";
4677
5151
  import { ConnectModel } from "connect/models/ConnectModel";
@@ -4859,9 +5333,9 @@ declare module "connect/models/BetaFeedback" {
4859
5333
  query?: import("connect/ConnectAPI").ConnectQueryParams<Partial<{
4860
5334
  builds: string | string[];
4861
5335
  betaTesters: string | string[];
4862
- 'build.app': string | string[];
4863
- 'build.preReleaseVersion': string | string[];
4864
5336
  appPlatform: Platform | Platform[];
5337
+ 'build.preReleaseVersion': string | string[];
5338
+ 'build.app': string | string[];
4865
5339
  } & {
4866
5340
  id?: string;
4867
5341
  }>> | undefined;
@@ -4941,6 +5415,7 @@ declare module "connect/index" {
4941
5415
  export * from "connect/models/Actor";
4942
5416
  export * from "connect/models/ApiKey";
4943
5417
  export * from "connect/models/App";
5418
+ export * from "connect/models/AppClip";
4944
5419
  export * from "connect/models/AppDataUsage";
4945
5420
  export * from "connect/models/AppDataUsageCategory";
4946
5421
  export * from "connect/models/AppDataUsageDataProtection";
@@ -4954,6 +5429,8 @@ declare module "connect/index" {
4954
5429
  export * from "connect/models/AppPrice";
4955
5430
  export * from "connect/models/AppPricePoint";
4956
5431
  export * from "connect/models/AppPriceTier";
5432
+ export * from "connect/models/AppPreview";
5433
+ export * from "connect/models/AppPreviewSet";
4957
5434
  export * from "connect/models/AppScreenshot";
4958
5435
  export * from "connect/models/AppScreenshotSet";
4959
5436
  export * from "connect/models/AppStoreReviewAttachment";
@@ -4968,6 +5445,9 @@ declare module "connect/index" {
4968
5445
  export * from "connect/models/BetaAppReviewDetail";
4969
5446
  export * from "connect/models/BetaBuildLocalization";
4970
5447
  export * from "connect/models/BetaBuildMetric";
5448
+ export * from "connect/models/BetaCrashLog";
5449
+ export * from "connect/models/BetaFeedbackCrashSubmission";
5450
+ export * from "connect/models/BetaFeedbackScreenshotSubmission";
4971
5451
  export * from "connect/models/BetaGroup";
4972
5452
  export * from "connect/models/BetaTester";
4973
5453
  export * from "connect/models/Build";