export interface IDomain { domain: string; type?: string; } export interface IQuickAction { label: string; key: string; query: string; icon_url?: string; visible: boolean; } /** * Per-language override for popup copy. Stable identifiers (quick-action * `key`, icon_url, visibility) live on the root settings - translations * only swap user-facing copy. */ export interface IPopupTranslation { header_message?: string; expanded_header_message?: string; quick_actions?: Array<{ key: string; label: string; query: string }>; placeholders?: string[]; } export interface IPopupData { settings: { cart_icon_color: string; text_color: string; button_color: string; gradient_colors: string[]; restore_on_navigation: boolean; size: 'small' | 'medium' | 'big'; show_prices: boolean; show_add_to_cart_button: boolean; quick_actions?: IQuickAction[]; placeholders?: string[]; translations?: Record; }; color: string; position: string; header_message: string; loading_message: string; buy_now_button_message: string; unlocked_popup_message: string; toggle_button_message: string; locked_popup_message: string; come_back_button_message: string; dislike_button_message: string; in_stock_message: string; like_button_message: string; link_copied_message: string; secondary_color: string; expanded_header_message: any; search_more_message: string; use_stock: boolean; source_video?: string | null; engagement_messages: { expanded_header_message: string | null | undefined; header_message: string | null | undefined; }; default_state: 'minimized' | 'partial' | 'expanded'; default_state_mobile: 'minimized' | 'partial' | 'expanded'; } export type IPopUpCallback = { api: { method: string; api_url: string; redirect_location: string }; popup_id: string; type: string; };