export enum AppStores {
  UNKNOWN = 'UNKNOWN',
  APPLE_ITUNES = 'APPLE_ITUNES',
  GOOGLE_PLAY = 'GOOGLE_PLAY',
  ROKU = 'ROKU',
  AMAZON_FIRETV = 'AMAZON_FIRETV',
  PLAYSTATION = 'PLAYSTATION',
  XBOX = 'XBOX',
  SAMSUNG_TV = 'SAMSUNG_TV',
  AMAZON_APP_STORE = 'AMAZON_APP_STORE',
  OPPO_APP_STORE = 'OPPO_APP_STORE',
  SAMSUNG_APP_STORE = 'SAMSUNG_APP_STORE',
  VIVO_APP_STORE = 'VIVO_APP_STORE',
  XIAOMI_APP_STORE = 'XIAOMI_APP_STORE',
  LG_TV = 'LG_TV',
}

export enum Platform {
  UNKNOWN = 'UNKNOWN',
  ANDROID = 'ANDROID',
  IOS = 'IOS',
  ROKU = 'ROKU',
  AMAZON_FIRETV = 'AMAZON_FIRETV',
  PLAYSTATION = 'PLAYSTATION',
  XBOX = 'XBOX',
  SAMSUNG_TV = 'SAMSUNG_TV',
  LG_TV = 'LG_TV',
}

export enum ApprovalStatus {
  UNKNOWN = 'UNKNOWN',
  DRAFT = 'DRAFT',
  UNCHECKED = 'UNCHECKED',
  APPROVED = 'APPROVED',
  DISAPPROVED = 'DISAPPROVED',
  APPEALING = 'APPEALING',
}

/**
 * mobileApplications
 * @targetNSAlias `tns`
 * @targetNamespace `https://www.google.com/apis/ads/publisher/v202411`
 */
export interface MobileApplications {
  /** xsd:long */
  id?: number
  /** xsd:long */
  applicationId?: number
  /** xsd:string */
  displayName?: string
  /** xsd:string */
  appStoreId?: string
  /** MobileApplicationStore|xsd:string|UNKNOWN,APPLE_ITUNES,GOOGLE_PLAY,ROKU,AMAZON_FIRETV,PLAYSTATION,XBOX,SAMSUNG_TV,AMAZON_APP_STORE,OPPO_APP_STORE,SAMSUNG_APP_STORE,VIVO_APP_STORE,XIAOMI_APP_STORE,LG_TV */
  appStores?: Array<AppStores | keyof typeof AppStores>
  /** xsd:boolean */
  isArchived?: boolean
  /** xsd:string */
  appStoreName?: string
  /** xsd:string */
  applicationCode?: string
  /** xsd:string */
  developerName?: string
  /** MobileApplicationPlatform|xsd:string|UNKNOWN,ANDROID,IOS,ROKU,AMAZON_FIRETV,PLAYSTATION,XBOX,SAMSUNG_TV,LG_TV */
  platform?: Platform | keyof typeof Platform
  /** xsd:boolean */
  isFree?: boolean
  /** xsd:string */
  downloadUrl?: string
  /** MobileApplication.ApprovalStatus|xsd:string|UNKNOWN,DRAFT,UNCHECKED,APPROVED,DISAPPROVED,APPEALING */
  approvalStatus?: ApprovalStatus | keyof typeof ApprovalStatus
}
