///
import { Stream } from 'stream';
import { CampaignBidList } from './models/campaign_bids';
import { AudienceListMeta, AudienceListData } from './models/audience_list';
import { BaseAPI } from './base_api';
import { Creative } from './models/creative';
export declare namespace AppPromotionEnums {
enum Metrics {
Impressions = "impressions",
Clicks = "clicks",
Completions = "completions",
Installs = "installs",
Spend = "spend",
StoreOpens = "storeOpens"
}
enum AdUnits {
RewardedVideo = "rewardedVideo",
Interstitial = "interstitial",
Banner = "banner",
Offerwall = "offerWall"
}
enum Breakdowns {
Day = "day",
Campaign = "campaign",
Title = "title",
Application = "application",
Country = "country",
OS = "os",
DeviceType = "deviceType",
Creatives = "creative",
AdUnit = "adUnit"
}
enum PLATFORM {
iOS = "ios",
Android = "android"
}
enum CreativeType {
VIDEO_CAROUSEL = "videoAndCarousel",
VIDEO_FULLSCREEN = "videoAndFullScreen",
PLAYABLE = "playable",
VIDEO_INTERACTIVE_ENDCARD = "videoAndInteractiveEndCard",
INTERACTIVE_VIDEO = "interactiveVideo"
}
enum UsageType {
VIDEO = "video",
LEFT = "left",
MIDDLE = "middle",
RIGHT = "right",
INTERACTIVE_ENDCARD = "interactiveEndCard",
PHONE_PORTRAIT = "phonePortrait",
PHONE_LANDSCAPE = "phoneLandscape",
TABLET_PORTRAIT = "tabletPortrait",
TABLET_LANDSCAPE = "tabletLandscape"
}
}
export declare namespace AppPromotionAPI {
class API extends BaseAPI {
/**
*
* @param {string} startDate - report start date in the following format YYYY-MM-DD
* @param {string} endDate -report end date in the following format YYYY-MM-DD
* @param {AppPromotionMetrics.Metrics} metrics - list of report metrics.
* @param {object} reportingOptions - Optional additional parameters.
* @param {AppPromotionBreakdowns} reportingOptions.breakdowns - list of breakdowns.
* @param {string} reportingOptions.format - report format type 'csv' or 'json' only
* @param {number} reportingOptions.count - maximum number of records in the report
* @param {[number]} reportingOptions.campaignId - list of campaign ids
* @param {[string]} reportingOptions.bundleId - list of bundle ids
* @param {[number]} reportingOptions.creativeId - list of creative ids.
* @param {[string]} reportingOptions.country - list of country code in 2 letter country code, as per [ISO 3166-1 Alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)
* @param {string} reportingOptions.os - either 'ios' or 'android'.
* @param {string} reportingOptions.device_type - either 'phone' or 'tablet'
* @param {AppPromotionEnums.AdUnits} reportingOptions.adUnit - Ad Unit from [[AdUnits]]
* @param {AppPromotionEnums.Breakdowns | AppPromotionEnums.Metrics} reportingOptions.order - order report according to a specific Breakdown or Metric
* @param {string} reportingOptions.direction - either 'asc' or 'desc'
*
* @returns {Stream} - Readable Stream with results - in case of when format is json each chunk will be a json list.
*/
getAdvertiserStatistics(startDate: string, endDate: string, metrics: AppPromotionEnums.Metrics[], reportingOptions?: {
breakdowns?: AppPromotionEnums.Breakdowns[];
format?: 'csv' | 'json';
count?: number;
campaignId?: number[];
bundleId?: string[];
creativeId?: number[];
country?: string[];
os?: 'ios' | 'android';
deviceType?: 'phone' | 'tablet';
adUnit?: AppPromotionEnums.AdUnits;
order?: AppPromotionEnums.Breakdowns | AppPromotionEnums.Metrics;
direction: 'asc' | 'desc';
}): Stream;
/**
*
* @param {number} campaignId - campaign id to get bids for
* @param {number} maxRecords - (optional) max number of records - default 10000
* @returns {Stream} - ReadableStream that will contain the result
*/
getBidsForCampaign(campaignId: number, maxRecords?: 10000 | number): Stream;
/**
*
* @param {[CampaignBidList]} campaignBids List of [[CampaignBids]] to update
* @returns {Array