import { AppStoreConnectClient, provisionMacApp } from 'ts-pantry'; import type { AppStoreConnectClientOptions, AppStoreVersionPlatform, BundleIdPlatform } from 'ts-pantry'; import type { ExtensionConfig, SafariPlatform } from './types'; export type { AppAttributes, AppStoreBuildAttachmentResult, AppStoreBuildResult, AppStoreConnectClientOptions, AppStoreConnectResource, AppStoreVersionAttributes, AppStoreVersionPlatform, BuildAttributes, BundleIdAttributes, BundleIdCapabilityAttributes, BundleIdPlatform, CertificateAttributes, MacAppProvisionOptions, MacAppProvisionResult, MacDistributionCertificateType, PreReleaseVersionAttributes, ProfileAttributes, } from 'ts-pantry'; /** Wait for the uploaded binaries to process, then select them for their App Store versions. */ export declare function attachSafariBuilds(client: AppStoreConnectClient, appId: string, versions: SafariAppStoreVersionResult[], buildNumber: string, options?: AttachSafariBuildsOptions): Promise; /** * Register the explicit container and extension Bundle IDs required by a * Safari Web Extension, then check for the manually-created App Store Connect * app record. Apple does not expose an official API for creating that record. */ export declare function provisionSafariApp(config: ExtensionConfig, options?: SafariProvisionOptions): Promise; export declare interface SafariAppStoreVersionResult { platform: SafariPlatform version: string created: boolean updated: boolean id: string status?: 'ready' | 'deferred' | 'published' appStoreState?: string reason?: string } export declare interface SafariBuildAttachmentResult { platform: SafariPlatform versionId: string buildId: string buildNumber: string } export declare interface AttachSafariBuildsOptions { timeoutMs?: number pollIntervalMs?: number } export declare interface SafariProvisionOptions extends AppStoreConnectClientOptions { checkOnly?: boolean platform?: BundleIdPlatform version?: string platforms?: SafariPlatform[] } export declare interface SafariProvisionResult { container: { identifier: string, exists: boolean, created: boolean } extension: { identifier: string, exists: boolean, created: boolean } appRecord: { exists: boolean, id?: string } appStoreVersions: SafariAppStoreVersionResult[] } export { AppStoreConnectClient, provisionMacApp, }; export { appStoreConnectToken } from 'ts-pantry';