@namiml/web-sdk
Version:
Nami Web SDK makes subscriptions & in-app purchases easy, with powerful built-in paywalls and A/B testing
59 lines (58 loc) • 1.65 kB
TypeScript
import { CampaignRuleConversionEventType, FormFactor } from "../campaign";
import { NamiFlowDTO, NamiFlowWithObject } from "../flow";
/**
* @type NamiCampaignSegment
* Represents a segment within a campaign.
*/
export interface NamiCampaignSegment {
form_factors: FormFactor[];
paywall?: string | null;
flow?: NamiFlowDTO | null;
segment: string;
split: number;
conversion_event_type?: CampaignRuleConversionEventType | null;
conversion_event_url?: string | null;
}
/**
* @type NamiAnonymousCampaign
* Represents the anonymous campaign in Nami.
*/
export interface NamiAnonymousCampaign {
rule: string;
name: string;
type: string | NamiCampaignRuleType;
value?: string | null;
external_segment: string | null;
segments: NamiCampaignSegment[];
}
/**
* @type NamiCampaign
* Represents the campaign in Nami.
*/
export interface NamiCampaign {
rule: string;
name: string;
segment: string;
paywall?: string | null;
type: string | NamiCampaignRuleType;
value?: string | null;
form_factors: FormFactor[];
external_segment: string | null;
conversion_event_type?: CampaignRuleConversionEventType | null;
conversion_event_url?: string | null;
flow?: NamiFlowDTO | null;
}
export interface NamiFlowCampaign extends NamiCampaign {
flow: NamiFlowWithObject;
}
export declare function isNamiFlowCampaign(campaign?: NamiCampaign): campaign is NamiFlowCampaign;
/**
* @enum NamiCampaignRuleType
* Types of Nami campaigns
*/
export declare enum NamiCampaignRuleType {
DEFAULT = "default",
LABEL = "label",
UNKNOWN = "unknown",
URL = "url"
}