import { DateRange } from './DateRange'
import { DailyVolumeSettings } from './DailyVolumeSettings'
import { TotalVolumeSettings } from './TotalVolumeSettings'
import { HistoricalBasisVolumeSettings } from './HistoricalBasisVolumeSettings'

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

export enum VolumeType {
  UNKNOWN = 'UNKNOWN',
  DAILY_VOLUME = 'DAILY_VOLUME',
  TOTAL_VOLUME = 'TOTAL_VOLUME',
  HISTORICAL_BASIS_VOLUME = 'HISTORICAL_BASIS_VOLUME',
}

/**
 * forecastAdjustment
 * @targetNSAlias `tns`
 * @targetNamespace `https://www.google.com/apis/ads/publisher/v202411`
 */
export interface ForecastAdjustment {
  /** xsd:long */
  id?: number
  /** xsd:long */
  trafficForecastSegmentId?: number
  /** xsd:string */
  name?: string
  /** dateRange */
  dateRange?: DateRange
  /** ForecastAdjustmentStatus|xsd:string|UNKNOWN,ACTIVE,INACTIVE */
  status?: Status | keyof typeof Status
  /** ForecastAdjustmentVolumeType|xsd:string|UNKNOWN,DAILY_VOLUME,TOTAL_VOLUME,HISTORICAL_BASIS_VOLUME */
  volumeType?: VolumeType | keyof typeof VolumeType
  /** xsd:boolean */
  allowAdjustingForecastAboveRecommendedLimit?: boolean
  /** dailyVolumeSettings */
  dailyVolumeSettings?: DailyVolumeSettings
  /** totalVolumeSettings */
  totalVolumeSettings?: TotalVolumeSettings
  /** historicalBasisVolumeSettings */
  historicalBasisVolumeSettings?: HistoricalBasisVolumeSettings
  /** xsd:long */
  calculatedDailyAdOpportunityCounts?: Array<number>
}
