import { CriterionUse } from './enum/CriterionUse'; import { IKeyword, IGender, IAgeRange } from './Criterion'; import { ITextLabel } from '../CampaignService/Label'; import { UserStatus } from './enum/UserStatus'; import { SystemServingStatus } from './enum/SystemServingStatus'; import { ApprovalStatus } from './enum/ApprovalStatus'; import { IBid } from './Bid'; import { IQualityInfo } from './QualityInfo'; import { IBiddingStrategyConfiguration } from './BiddingStrategyConfiguration'; import { IUrlList } from './UrlList'; import { ICustomParameters } from './CustomParameters'; import { IAttributes } from '../../../types/adwords'; interface IAdGroupCriterion extends IAttributes { adGroupId: string; readonly criterionUse: CriterionUse; criterion: IKeyword | IGender | IAgeRange; labels: ITextLabel[]; readonly baseCampaignId: string; readonly baseAdGroupId: string; 'AdGroupCriterion.Type': string; } interface IBiddableAdGroupCriterionRaw extends IAdGroupCriterion { readonly systemServingStatus: SystemServingStatus; readonly approvalStatus: ApprovalStatus; readonly disapprovalReasons: string[]; readonly firstPageCpc: IBid; readonly topOfPageCpc: IBid; readonly firstPositionCpc: IBid; readonly qualityInfo: IQualityInfo; userStatus: UserStatus; biddingStrategyConfiguration: IBiddingStrategyConfiguration; bidModifier: number; finalUrls: IUrlList[]; finalMobileUrls: IUrlList[]; finalAppUrls: IUrlList[]; trackingUrlTemplate: string; finalUrlSuffix: string; urlCustomParameters: ICustomParameters; } interface IBiddableAdGroupCriterion extends Partial> { } interface INegativeAdGroupCriterionRaw extends IAdGroupCriterion { } interface INegativeAdGroupCriterion extends Partial> { } export { IBiddableAdGroupCriterion, INegativeAdGroupCriterion };