UNPKG

courier-vue-embedded

Version:
66 lines (64 loc) 1.77 kB
import { IPreferenceTemplate } from './core'; export interface PreferencesProps { tenantId?: string; draft?: boolean; } export type PreferencePage = { showCourierFooter: boolean; brand: { settings: { colors: { primary: string; }; }; links: { facebook: { url: string; }; instagram: { url: string; }; linkedin: { url: string; }; medium: { url: string; }; twitter: { url: string; }; }; logo: { href: string; image: string; }; }; sections: PreferenceSection; }; type PreferenceSection = { nodes: Array<{ name: string; sectionId: string; routingOptions: Array<ChannelClassification>; topics: { nodes: Array<IPreferenceTemplate>; }; hasCustomRouting: boolean; }>; }; type ChannelClassification = 'email' | 'push' | 'inbox' | 'direct_message' | 'sms' | 'webhook'; type PreferenceStatus = 'OPTED_IN' | 'OPTED_OUT' | 'REQUIRED'; export interface IRecipientPreference { templateId: string; status: PreferenceStatus; hasCustomRouting: boolean; routingPreferences: Array<ChannelClassification>; digestSchedule: string; } export type UpdateRecipientPreferencesPayload = any; export interface PreferencesSdk { fetchRecipientPreferences: (tenantId?: string, draft?: boolean) => void; fetchPreferencePage: (tenantId?: string, draft?: boolean) => void; updateRecipientPreferences: (payload: UpdateRecipientPreferencesPayload) => void; } export {};