export enum TargetGender {
  UNKNOWN = 'UNKNOWN',
  MALE = 'MALE',
  FEMALE = 'FEMALE',
  BOTH = 'BOTH',
}

export enum Provider {
  UNKNOWN = 'UNKNOWN',
  NIELSEN = 'NIELSEN',
  GOOGLE = 'GOOGLE',
}

export enum NielsenCtvPacingType {
  UNKNOWN = 'UNKNOWN',
  NONE = 'NONE',
  COVIEW = 'COVIEW',
  STRICT_COVIEW = 'STRICT_COVIEW',
}

export enum PacingDeviceCategorizationType {
  UNKNOWN = 'UNKNOWN',
  GOOGLE = 'GOOGLE',
  NIELSEN = 'NIELSEN',
}

/**
 * grpSettings
 * @targetNSAlias `tns`
 * @targetNamespace `https://www.google.com/apis/ads/publisher/v202408`
 */
export interface GrpSettings {
  /** xsd:long */
  minTargetAge?: number
  /** xsd:long */
  maxTargetAge?: number
  /** GrpTargetGender|xsd:string|UNKNOWN,MALE,FEMALE,BOTH */
  targetGender?: TargetGender | keyof typeof TargetGender
  /** GrpProvider|xsd:string|UNKNOWN,NIELSEN,GOOGLE */
  provider?: Provider | keyof typeof Provider
  /** xsd:long */
  inTargetRatioEstimateMilliPercent?: number
  /** NielsenCtvPacingType|xsd:string|UNKNOWN,NONE,COVIEW,STRICT_COVIEW */
  nielsenCtvPacingType?:
    | NielsenCtvPacingType
    | keyof typeof NielsenCtvPacingType
  /** PacingDeviceCategorizationType|xsd:string|UNKNOWN,GOOGLE,NIELSEN */
  pacingDeviceCategorizationType?:
    | PacingDeviceCategorizationType
    | keyof typeof PacingDeviceCategorizationType
  /** xsd:boolean */
  applyTrueCoview?: boolean
}
