import { ResourceBase } from '../resource'; import { Value, List } from '../dataTypes'; export declare class MetricDimension { ComparisonOperator?: Value; Value?: Value; constructor(properties: MetricDimension); } export declare class SetDimension { DimensionType?: Value; Values?: List>; constructor(properties: SetDimension); } export declare class AttributeDimension { AttributeType?: Value; Values?: List>; constructor(properties: AttributeDimension); } export declare class MessageConfiguration { APNSMessage?: Message; BaiduMessage?: Message; DefaultMessage?: Message; EmailMessage?: CampaignEmailMessage; GCMMessage?: Message; SMSMessage?: CampaignSmsMessage; ADMMessage?: Message; constructor(properties: MessageConfiguration); } export declare class QuietTime { Start: Value; End: Value; constructor(properties: QuietTime); } export declare class CampaignHook { Mode?: Value; WebUrl?: Value; LambdaFunctionName?: Value; constructor(properties: CampaignHook); } export declare class EventDimensions { Metrics?: { [key: string]: any; }; EventType?: SetDimension; Attributes?: { [key: string]: any; }; constructor(properties: EventDimensions); } export declare class Message { JsonBody?: Value; Action?: Value; MediaUrl?: Value; TimeToLive?: Value; ImageSmallIconUrl?: Value; ImageUrl?: Value; Title?: Value; ImageIconUrl?: Value; SilentPush?: Value; Body?: Value; RawContent?: Value; Url?: Value; constructor(properties: Message); } export declare class Schedule { TimeZone?: Value; QuietTime?: QuietTime; EndTime?: Value; StartTime?: Value; Frequency?: Value; EventFilter?: CampaignEventFilter; IsLocalTime?: Value; constructor(properties: Schedule); } export declare class CampaignEventFilter { FilterType?: Value; Dimensions?: EventDimensions; constructor(properties: CampaignEventFilter); } export declare class CampaignSmsMessage { SenderId?: Value; Body?: Value; MessageType?: Value; constructor(properties: CampaignSmsMessage); } export declare class CampaignEmailMessage { FromAddress?: Value; HtmlBody?: Value; Title?: Value; Body?: Value; constructor(properties: CampaignEmailMessage); } export declare class WriteTreatmentResource { TreatmentDescription?: Value; MessageConfiguration?: MessageConfiguration; Schedule?: Schedule; SizePercent?: Value; TreatmentName?: Value; constructor(properties: WriteTreatmentResource); } export declare class Limits { Daily?: Value; MaximumDuration?: Value; Total?: Value; MessagesPerSecond?: Value; constructor(properties: Limits); } export interface CampaignProperties { Description?: Value; SegmentId: Value; IsPaused?: Value; AdditionalTreatments?: List; Name: Value; SegmentVersion?: Value; TreatmentDescription?: Value; MessageConfiguration: MessageConfiguration; Limits?: Limits; HoldoutPercent?: Value; Schedule: Schedule; ApplicationId: Value; CampaignHook?: CampaignHook; TreatmentName?: Value; } export default class Campaign extends ResourceBase { static MetricDimension: typeof MetricDimension; static SetDimension: typeof SetDimension; static AttributeDimension: typeof AttributeDimension; static MessageConfiguration: typeof MessageConfiguration; static QuietTime: typeof QuietTime; static CampaignHook: typeof CampaignHook; static EventDimensions: typeof EventDimensions; static Message: typeof Message; static Schedule: typeof Schedule; static CampaignEventFilter: typeof CampaignEventFilter; static CampaignSmsMessage: typeof CampaignSmsMessage; static CampaignEmailMessage: typeof CampaignEmailMessage; static WriteTreatmentResource: typeof WriteTreatmentResource; static Limits: typeof Limits; constructor(properties: CampaignProperties); }