import { IPriceTableRow } from './PriceTableRow'; import { IAttributes, IUrlList, ICustomParameters, IKeyword, ILocation, IMoneyWithCurrency } from '../../../types/adwords'; import { IFeedItemDevicePreference } from './FeedItemDevicePreference'; import { IFeedItemScheduling } from './FeedItemScheduling'; import { IFeedItemCampaignTargeting } from './FeedItemCampaignTargeting'; import { IFeedItemAdGroupTargeting } from './FeedItemAdGroupTargeting'; import { Feed, AppFeedItem, PriceExtensionType, PriceExtensionPriceQualifier, PromotionExtensionDiscountModifier, PromotionExtensionOccasion } from '../../../types/enum'; import { ICallConversionType } from './CallConversionType'; import { IFeedItem } from '../FeedItemService'; interface IExtensionFeedItemRaw extends IFeedItem, IAttributes { readonly feedType: Feed.Type; devicePreference: IFeedItemDevicePreference; scheduling: IFeedItemScheduling; campaignTargeting: IFeedItemCampaignTargeting; adGroupTargeting: IFeedItemAdGroupTargeting; keywordTargeting: IKeyword; geoTargeting: ILocation; 'ExtensionFeedItem.Type': string; } interface IExtensionFeedItem extends Partial> { } declare class ExtensionFeedItemHelper { static isAppFeedItem(item: PartialExtensionFeedItem): item is IAppFeedItem; static isCallFeedItem(item: PartialExtensionFeedItem): item is ICallFeedItem; static isCalloutFeedItem(item: PartialExtensionFeedItem): item is ICalloutFeedItem; static isMessageFeedItem(item: PartialExtensionFeedItem): item is IMessageFeedItem; static isPriceFeedItem(item: PartialExtensionFeedItem): item is IPriceFeedItem; static isPromotionFeedItem(item: PartialExtensionFeedItem): item is IPromotionFeedItem; static isReviewFeedItem(item: PartialExtensionFeedItem): item is IReviewFeedItem; static isSitelinkFeedItem(item: PartialExtensionFeedItem): item is ISitelinkFeedItem; static isStructuredSnippetFeedItem(item: PartialExtensionFeedItem): item is IStructuredSnippetFeedItem; static setType(item: PartialExtensionFeedItem): Partial | Partial> | Partial | Partial | Partial | Partial | Partial | Partial | Partial | Partial; } interface IAppFeedItem extends IExtensionFeedItem<'AppFeedItem'> { appStore: AppFeedItem.AppStore; appId: string; appLinkText: string; appUrl: string; appFinalUrls: IUrlList; appFinalMobileUrls: IUrlList; appTrackingUrlTemplate: string; appFinalUrlSuffix: string; appUrlCustomParameters: ICustomParameters; } interface ICallFeedItem extends IExtensionFeedItem<'CallFeedItem'> { callPhoneNumber: string; callCountryCode: string; callTracking: boolean; callConversionType: ICallConversionType; disableCallConversionTracking: boolean; } interface ICalloutFeedItem extends IExtensionFeedItem<'CalloutFeedItem'> { calloutText: string; } interface IMessageFeedItem extends IExtensionFeedItem<'MessageFeedItem'> { messageBusinessName: string; messageCountryCode: string; messagePhoneNumber: string; messageExtensionText: string; messageText: string; } interface IPriceFeedItem extends IExtensionFeedItem<'PriceFeedItem'> { priceExtensionType: PriceExtensionType; priceQualifier: PriceExtensionPriceQualifier; trackingUrlTemplate: string; finalUrlSuffix: string; language: string; tableRows: IPriceTableRow[]; } interface IPromotionFeedItem extends IExtensionFeedItem<'PromotionFeedItem'> { promotionTarget: string; discountModifier: PromotionExtensionDiscountModifier; percentOff: number; moneyAmountOff: IMoneyWithCurrency; promotionCode: string; ordersOverAmount: IMoneyWithCurrency; promotionStart: string; promotionEnd: string; occasion: PromotionExtensionOccasion; finalUrls: IUrlList; finalMobileUrls: IUrlList; trackingUrlTemplate: string; finalUrlSuffix: string; promotionUrlCustomParameters: ICustomParameters; language: string; } interface IReviewFeedItem extends IExtensionFeedItem<'ReviewFeedItem'> { reviewText: string; reviewSourceName: string; reviewSourceUrl: string; reviewTextExactlyQuoted: boolean; } interface ISitelinkFeedItem extends IExtensionFeedItem<'SitelinkFeedItem'> { sitelinkText: string; sitelinkUrl: string; sitelinkLine2: string; sitelinkLine3: string; sitelinkFinalUrls: IUrlList; sitelinkFinalMobileUrls: IUrlList; sitelinkTrackingUrlTemplate: string; sitelinkFinalUrlSuffix: string; sitelinkUrlCustomParameters: ICustomParameters; } interface IStructuredSnippetFeedItem extends IExtensionFeedItem<'StructuredSnippetFeedItem'> { header: string; values: string[]; } declare type PartialExtensionFeedItem = Partial; export { ExtensionFeedItemHelper, IExtensionFeedItemRaw, IExtensionFeedItem, IAppFeedItem, ICallFeedItem, ICalloutFeedItem, IMessageFeedItem, IPriceFeedItem, IPromotionFeedItem, IReviewFeedItem, ISitelinkFeedItem, IStructuredSnippetFeedItem, PartialExtensionFeedItem, };