import type { ChannelType } from './ChannelType'; import type { SubscriptionStatusEntry } from './SubscriptionStatusEntry'; /** * @type ConsentSubscription: * * @property subscriptionId: Identifier for the communication subscription * - **Pattern:** /^[a-z0-9]+(?:-[a-z0-9]+)*$/ * - **Min Length:** 1 * - **Max Length:** 255 * * @property channels: * * @property consentStatus: Subscription status information across different channels. This field is only included in the response when the \'expand\' parameter contains \"consentStatus\". For privacy and performance reasons, status is not returned by default. * * @property title: The localized title of the subscription for shopper displays * - **Min Length:** 1 * - **Max Length:** 255 * * @property subtitle: The localized subtitle of the subscription for shopper displays, may contain HTML markup * - **Min Length:** 1 * - **Max Length:** 2000 * * @property tags: * * @property consentType: Type of consent subscription * * @property consentRequired: Whether this subscription is mandatory for the user * * @property defaultStatus: Default consent status for this subscription * */ export type ConsentSubscription = { subscriptionId: string; channels: Array; consentStatus?: Array; title?: string; subtitle?: string; tags?: Array; consentType?: ConsentSubscriptionConsentTypeEnum; consentRequired?: boolean; defaultStatus?: ConsentSubscriptionDefaultStatusEnum; } & { [key: string]: any; }; export type ConsentSubscriptionConsentTypeEnum = 'marketing' | 'legal'; export type ConsentSubscriptionDefaultStatusEnum = 'opt_in' | 'opt_out';