import { AgeRatingDeclaration, AppInfo, AppInfoLocalization, AppStoreReviewDetail, AppStoreVersion, AppStoreVersionLocalization, AppStoreVersionPhasedRelease } from '@expo/apple-utils'; import { AttributesOf } from '../../utils/asc'; import { AppleAppClipDefaultExperience, AppleAppClipLocalizedInfo, AppleAppClipReviewDetail, AppleMetadata, ApplePreviews, AppleScreenshots } from '../types'; /** * Serializes the Apple ASC entities into the metadata configuration schema. * This uses version 0 of the config schema. */ export declare class AppleConfigWriter { readonly schema: Partial; constructor(schema?: Partial); /** Get the schema result to write it to the config file */ toSchema(): { configVersion: number; apple: Partial; }; setAgeRating(attributes: Omit, 'seventeenPlus' | 'gamblingAndContests'>): void; setInfoLocale(attributes: AttributesOf): void; setCategories(attributes: Pick, 'primaryCategory' | 'primarySubcategoryOne' | 'primarySubcategoryTwo' | 'secondaryCategory' | 'secondarySubcategoryOne' | 'secondarySubcategoryTwo'>): void; setVersion(attributes: Omit, 'releaseType' | 'earliestReleaseDate'>): void; setVersionReleaseType(attributes: Pick, 'releaseType' | 'earliestReleaseDate'>): void; setVersionReleasePhased(attributes?: AttributesOf): void; setVersionLocale(attributes: AttributesOf): void; setReviewDetails(attributes: AttributesOf): void; /** Set screenshots for a specific locale */ setScreenshots(locale: string, screenshots: AppleScreenshots): void; /** Set video previews for a specific locale */ setPreviews(locale: string, previews: ApplePreviews): void; /** Set the App Clip default experience attributes (action, releaseWithAppStoreVersion). */ setAppClipDefaultExperience(attributes: Pick): void; /** Set the App Clip App Store review detail (invocation URLs). */ setAppClipReviewDetail(reviewDetail: AppleAppClipReviewDetail | null): void; /** Set per-locale App Clip info (subtitle + header image). */ setAppClipLocalizedInfo(locale: string, info: AppleAppClipLocalizedInfo): void; }