///
///
import { Agent as HttpAgent } from 'http';
import { Agent as HttpsAgent } from 'https';
import { FetchAPI, Configuration, Middleware } from '@adzerk/api-decision-js';
import { DecisionRequest, DecisionResponse } from './models';
import { LoggerFunc } from '.';
interface ClientOptions {
networkId: number;
siteId?: number;
fetch?: FetchAPI;
protocol?: string;
host?: string;
path?: string;
middlewares?: Middleware[];
apiKey?: string;
agent?: HttpAgent | HttpsAgent;
logger?: LoggerFunc;
additionalVersionInfo?: string;
}
interface PixelFireOptions {
url: string;
revenueOverride?: number;
additionalRevenue?: number;
eventMultiplier?: number;
grossMerchandiseValue?: number;
}
interface AdditionalOptions {
userAgent?: string;
includeExplanation?: boolean;
apiKey?: string;
desiredAds?: [];
desiredAdMap?: {};
}
interface PixelFireResponse {
status: number;
location?: string;
}
declare class DecisionClient {
private _api;
private _networkId;
private _siteId?;
private _logger;
private _apiKey?;
constructor(configuration: Configuration, networkId: number, logger: LoggerFunc, siteId?: number, apiKey?: string);
get(request: DecisionRequest, additionalOpts?: AdditionalOptions): Promise;
}
declare class UserDbClient {
private _api;
private _networkId;
constructor(configuration: Configuration, networkId: number);
setCustomProperties(userKey: string, properties: object, networkId?: number): Promise;
addInterest(userKey: string, interest: string, networkId?: number): Promise;
addRetargetingSegment(userKey: string, advertiserId: number, retargetingSegmentId: number, networkId?: number): Promise;
forget(userKey: string, networkId?: number): Promise;
gdprConsent(gdprConsent: object, networkId?: number): Promise;
ipOverride(userKey: string, ip: string, networkId?: number): Promise;
matchUser(userKey: string, partnerId: number, userId: number, networkId?: number): Promise;
optOut(userKey: string, networkId?: number): Promise;
read(userKey: string, networkId?: number): Promise;
}
declare class PixelClient {
private _fetch;
private _agent;
private _logger;
private _versionString;
constructor(fetch: FetchAPI, agent: any, logger: LoggerFunc, versionString: string);
private buildFireUrl;
fire(params: PixelFireOptions, additionalOpts?: AdditionalOptions): Promise;
}
export declare class Client {
private _decisionClient;
private _userDbClient;
private _pixelClient;
private _agent;
private _path?;
constructor(opts: ClientOptions);
get decisions(): DecisionClient;
get userDb(): UserDbClient;
get pixels(): PixelClient;
}
export {};