export enum ApprovedDelegationType {
  UNKNOWN = 'UNKNOWN',
  MANAGE_ACCOUNT = 'MANAGE_ACCOUNT',
  MANAGE_INVENTORY = 'MANAGE_INVENTORY',
}

export enum ProposedDelegationType {
  UNKNOWN = 'UNKNOWN',
  MANAGE_ACCOUNT = 'MANAGE_ACCOUNT',
  MANAGE_INVENTORY = 'MANAGE_INVENTORY',
}

export enum Status {
  UNKNOWN = 'UNKNOWN',
  APPROVED = 'APPROVED',
  PENDING = 'PENDING',
  REJECTED = 'REJECTED',
  WITHDRAWN = 'WITHDRAWN',
}

export enum AccountStatus {
  UNKNOWN = 'UNKNOWN',
  INVITED = 'INVITED',
  DECLINED = 'DECLINED',
  PENDING_GOOGLE_APPROVAL = 'PENDING_GOOGLE_APPROVAL',
  APPROVED = 'APPROVED',
  CLOSED_POLICY_VIOLATION = 'CLOSED_POLICY_VIOLATION',
  CLOSED_INVALID_ACTIVITY = 'CLOSED_INVALID_ACTIVITY',
  CLOSED_BY_PUBLISHER = 'CLOSED_BY_PUBLISHER',
  DISAPPROVED_INELIGIBLE = 'DISAPPROVED_INELIGIBLE',
  DISAPPROVED_DUPLICATE_ACCOUNT = 'DISAPPROVED_DUPLICATE_ACCOUNT',
  EXPIRED = 'EXPIRED',
  INACTIVE = 'INACTIVE',
  DEACTIVATED_BY_AD_MANAGER = 'DEACTIVATED_BY_AD_MANAGER',
}

export enum OnboardingTasks {
  UNKNOWN = 'UNKNOWN',
  BILLING_PROFILE_CREATION = 'BILLING_PROFILE_CREATION',
  PHONE_PIN_VERIFICATION = 'PHONE_PIN_VERIFICATION',
  AD_MANAGER_ACCOUNT_SETUP = 'AD_MANAGER_ACCOUNT_SETUP',
}

/**
 * childPublisher
 * @targetNSAlias `tns`
 * @targetNamespace `https://www.google.com/apis/ads/publisher/v202411`
 */
export interface ChildPublisher {
  /** DelegationType|xsd:string|UNKNOWN,MANAGE_ACCOUNT,MANAGE_INVENTORY */
  approvedDelegationType?:
    | ApprovedDelegationType
    | keyof typeof ApprovedDelegationType
  /** DelegationType|xsd:string|UNKNOWN,MANAGE_ACCOUNT,MANAGE_INVENTORY */
  proposedDelegationType?:
    | ProposedDelegationType
    | keyof typeof ProposedDelegationType
  /** DelegationStatus|xsd:string|UNKNOWN,APPROVED,PENDING,REJECTED,WITHDRAWN */
  status?: Status | keyof typeof Status
  /** AccountStatus|xsd:string|UNKNOWN,INVITED,DECLINED,PENDING_GOOGLE_APPROVAL,APPROVED,CLOSED_POLICY_VIOLATION,CLOSED_INVALID_ACTIVITY,CLOSED_BY_PUBLISHER,DISAPPROVED_INELIGIBLE,DISAPPROVED_DUPLICATE_ACCOUNT,EXPIRED,INACTIVE,DEACTIVATED_BY_AD_MANAGER */
  accountStatus?: AccountStatus | keyof typeof AccountStatus
  /** xsd:string */
  childNetworkCode?: string
  /** xsd:string */
  sellerId?: string
  /** xsd:long */
  proposedRevenueShareMillipercent?: number
  /** OnboardingTask|xsd:string|UNKNOWN,BILLING_PROFILE_CREATION,PHONE_PIN_VERIFICATION,AD_MANAGER_ACCOUNT_SETUP */
  onboardingTasks?: Array<OnboardingTasks | keyof typeof OnboardingTasks>
}
