import { StartDateTime } from './StartDateTime'
import { Sizes } from './Sizes'
import { Stats } from './Stats'

export enum StartDateTimeType {
  USE_START_DATE_TIME = 'USE_START_DATE_TIME',
  IMMEDIATELY = 'IMMEDIATELY',
  ONE_HOUR_FROM_NOW = 'ONE_HOUR_FROM_NOW',
  UNKNOWN = 'UNKNOWN',
}

export enum Status {
  ACTIVE = 'ACTIVE',
  INACTIVE = 'INACTIVE',
  UNKNOWN = 'UNKNOWN',
}

/**
 * lineItemCreativeAssociations
 * @targetNSAlias `tns`
 * @targetNamespace `https://www.google.com/apis/ads/publisher/v202505`
 */
export interface LineItemCreativeAssociations {
  /** xsd:long */
  lineItemId?: number
  /** xsd:long */
  creativeId?: number
  /** xsd:long */
  creativeSetId?: number
  /** xsd:double */
  manualCreativeRotationWeight?: number
  /** xsd:int */
  sequentialCreativeRotationIndex?: number
  /** startDateTime */
  startDateTime?: StartDateTime
  /** StartDateTimeType|xsd:string|USE_START_DATE_TIME,IMMEDIATELY,ONE_HOUR_FROM_NOW,UNKNOWN */
  startDateTimeType?: StartDateTimeType | keyof typeof StartDateTimeType
  /** endDateTime */
  endDateTime?: StartDateTime
  /** xsd:string */
  destinationUrl?: string
  /** sizes[] */
  sizes?: Array<Sizes>
  /** LineItemCreativeAssociation.Status|xsd:string|ACTIVE,INACTIVE,UNKNOWN */
  status?: Status | keyof typeof Status
  /** stats */
  stats?: Stats
  /** lastModifiedDateTime */
  lastModifiedDateTime?: StartDateTime
  /** xsd:string */
  targetingName?: string
}
