import { Parameters } from './Parameters'

export enum Status {
  UNKNOWN = 'UNKNOWN',
  PENDING = 'PENDING',
  ACTIVE = 'ACTIVE',
  DEPRECATED = 'DEPRECATED',
}

export enum Environment {
  UNKNOWN = 'UNKNOWN',
  MOBILE = 'MOBILE',
  VIDEO_VAST = 'VIDEO_VAST',
  WEB = 'WEB',
}

export enum Format {
  UNKNOWN = 'UNKNOWN',
  BANNER = 'BANNER',
  INTERSTITIAL = 'INTERSTITIAL',
  NATIVE = 'NATIVE',
  VIDEO_VAST = 'VIDEO_VAST',
  REWARDED = 'REWARDED',
  REWARDED_INTERSTITIAL = 'REWARDED_INTERSTITIAL',
  APP_OPEN = 'APP_OPEN',
}

export enum IntegrationType {
  UNKNOWN = 'UNKNOWN',
  CUSTOM_EVENT = 'CUSTOM_EVENT',
  SDK = 'SDK',
  OPEN_BIDDING = 'OPEN_BIDDING',
}

export enum Platform {
  UNKNOWN = 'UNKNOWN',
  ANDROID = 'ANDROID',
  IOS = 'IOS',
}

/**
 * settings
 * @targetNSAlias `tns`
 * @targetNamespace `https://www.google.com/apis/ads/publisher/v202502`
 */
export interface Settings {
  /** PartnerSettingStatus|xsd:string|UNKNOWN,PENDING,ACTIVE,DEPRECATED */
  status?: Status | keyof typeof Status
  /** YieldEnvironmentType|xsd:string|UNKNOWN,MOBILE,VIDEO_VAST,WEB */
  environment?: Environment | keyof typeof Environment
  /** YieldFormat|xsd:string|UNKNOWN,BANNER,INTERSTITIAL,NATIVE,VIDEO_VAST,REWARDED,REWARDED_INTERSTITIAL,APP_OPEN */
  format?: Format | keyof typeof Format
  /** YieldIntegrationType|xsd:string|UNKNOWN,CUSTOM_EVENT,SDK,OPEN_BIDDING */
  integrationType?: IntegrationType | keyof typeof IntegrationType
  /** YieldPlatform|xsd:string|UNKNOWN,ANDROID,IOS */
  platform?: Platform | keyof typeof Platform
  /** parameters[] */
  parameters?: Array<Parameters>
}
