1import aws from 'aws-sdk'; 2 3import { Platform } from '../ProjectVersions'; 4 5export { Platform }; 6 7export type S3Client = aws.S3; 8 9export interface ClientBuilder { 10 platform: Platform; 11 getAppPath: () => string; 12 getClientUrl: (appVersion: string) => string; 13 getAppVersionAsync: () => Promise<string>; 14 buildAsync: (flavor?: ClientBuildFlavor) => Promise<void>; 15 uploadBuildAsync: (s3Client: S3Client, appVersion: string) => Promise<void>; 16} 17 18export enum ClientBuildFlavor { 19 VERSIONED = 'versioned', 20 UNVERSIONED = 'unversioned', 21} 22