import { RepliedProduct } from "./product"; export enum Platform { OTHER = "other", SHOPIFY = "shopify", WORDPRESS_WOOCOMMERCE = "wordpress_woocommerce", } export interface BotTexts { typing: string; buttonText: string; inputPlaceholder: string; chatWithUs: string; rateLimitError: string; error: string; isRTL: boolean; } export interface BotCustomizationPosition { align: string; side_spacing: number; bottom_spacing: number; } export interface BotCustomizationMobile { appearance: string; position: BotCustomizationPosition; theme: string; theme_color: string; public_page_photo: string; } export interface BotCustomization { appearance: string; theme: string; theme_color: string; position: BotCustomizationPosition; visibility: string; mobile: BotCustomizationMobile; public_page_photo: string; } export interface GoftinoChannel { icon: string; name: string; enabled: boolean; } export interface RaychatChannel { icon: string; name: string; enabled: boolean; } export interface GapifyChannel { icon: string; name: string; enabled: boolean; } export interface CustomLinkChannel { icon: string; name: string; enabled: boolean; linkUrl: string; } export interface TelegramChannel { icon: string; name: string; enabled: boolean; username: string; } export interface WhatsAppChannel { icon: string; name: string; enabled: boolean; phoneNumber: string; welcomeMessage?: string; } export interface MerchantSupportChannels { goftino?: GoftinoChannel | null; raychat?: RaychatChannel | null; gapify?: GapifyChannel | null; customLink?: CustomLinkChannel | null; telegram?: TelegramChannel | null; whatsapp?: WhatsAppChannel | null; } export interface BotData { bot_name: string; agent_name?: string; agent_image?: string; suggestedReply: string[]; wellcomeMessage: string; bot_image: string; assistant_id: string; currency: string; isRTL: boolean; texts: BotTexts; language: string; customization: BotCustomization; country: string; logo_url: string; logo_address_url: string; logo_alt: string; favicon: string; platform: string; is_widget_enabled: boolean; is_pdp_embedded_widget_enabled?: boolean; sharing_id: string; banned_paths?: string[]; white_label?: { is_white_labeled?: boolean; }; suggested_prompts?: string[]; business_description?: string; widget_test?: boolean; merchant_support_channels?: MerchantSupportChannels; } export interface StreamChatResponse { thread_id?: string; text?: string; wait?: boolean; tool_name?: string; products?: import("./product").ProductCardData[]; status?: string; suggestions?: string[]; } export interface ChatState { repliedProduct: RepliedProduct | null; threadId: string | null; isRequestInProgress: boolean; } export interface SendMessageRequest { assistant_id: string; thread_id?: string; src: string; message: string; is_retry_attempt?: boolean; image_url?: string; platform?: string; product_id?: string; } export interface SessionTrackingRequest { sharing_id: string; thread_id: string; customer_email?: string; customer_id?: string; platform: string; session_key: string; } export interface TrackingResponse { success: boolean; message: string; } export interface PDPInteractionRequest { sharing_id: string; thread_id: string; external_product_id: string; question: string; customer_email?: string; customer_id?: string; platform: string; }