export interface TriggerDistributionConfig { triggers: HighLevelTriggerType; schedule: ScheduleConfig; } export declare enum RuleType { EVENT = "event", SESSION_DURATION = "session_duration", SINCE_LAST = "since_last", SCREEN = "screen", APP_OPEN = "app_open" } export interface TriggerRule { type: RuleType; conditional: string; eventName: string; value: string; } export interface HighLevelTriggerType { type: TriggerEnum; conditional: OnCondition; appOpen: OnAppOpen; screen: OnScreen; } export interface OnAppOpen { } export interface OnScreen { rules: Array; } export interface RuleSet { triggers: Array; startWithKnob: RuleSetWithKnob | null; } export declare const getSurveyDelaySec: (ruleSet: RuleSet) => number; export interface RuleSetWithKnob { text: string; } export interface OnCondition { rules: Array; } export declare enum TriggerEnum { ON_APP_OPEN = "app_open", ON_SCREEN = "screen", ON_CONDITION = "conditional" } export declare const reverseMapTriggerString: (triggerType: string) => TriggerEnum; export declare enum StopShowingType { SHOW_FOREVER = "show_forever", SHOW_UNTIL = "show_until" } export declare enum RepeatType { ONLY_ONCE = "once", EVERY_TIME = "always", MULTIPLE_TIMES = "many_times" } export interface ScheduleConfig { showConfig: { time: Date; }; stopConfig: { selection: StopShowingType; time?: Date; }; repeat: { selection: RepeatType; }; } export declare const DefaultTriggerDistributionConfig: TriggerDistributionConfig;