import { CommunicationMode } from '@react-native-zohosalesiq/mobilisten-core'; import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { getConstants(): { TYPE_CONNECTED: string; EVENT_OPEN_URL: string; ARTICLE_LIKED: string; TYPE_ENDED: string; SUPPORT_CLOSED: string; CHATVIEW_OPENED: string; PERFORM_CHATACTION: string; CHAT_ATTENDED: string; LAUNCHER_HORIZONTAL_RIGHT: string; EVENT_RESOURCE_CLOSED: string; CHAT_MISSED: string; OPERATORS_OFFLINE: string; ACTION_SOURCE_SDK: string; TYPE_CLOSED: string; ACTION_SOURCE_APP: string; FEEDBACK_RECEIVED: string; CHAT_REOPENED: string; ARTICLE_OPENED: string; CHAT_OPENED: string; CHAT_EXPIRED: string; KNOWLEDGEBASE_EVENT_LISTENER: string; TYPE_WAITING: string; LAUNCHER_VISIBILITY_MODE_WHEN_ACTIVE_CHAT: string; BOT_TRIGGER: string; EVENT_NOTIFICATION_CLICKED: string; ZSIQ_EVENT_LISTENER: string; NOTIFICATION_EVENT_LISTENER: string; LAUNCHER_EVENT_LISTENER: string; EVENT_HANDLE_URL: string; LAUNCHER_VISIBILITY_MODE_ALWAYS: string; EVENT_COMPLETE_CHAT_ACTION: string; LAUNCHER_VISIBILITY_MODE_NEVER: string; VISITOR_IPBLOCKED: string; LAUNCHER_VERTICAL_BOTTOM: string; SUPPORT_OPENED: string; ARTICLE_DISLIKED: string; LAUNCHER_MODE_STATIC: string; CHAT_UNREAD_COUNT_CHANGED: string; CHATVIEW_CLOSED: string; OPERATORS_ONLINE: string; EVENT_RESOURCE_DISLIKED: string; RATING_RECEIVED: string; TYPE_OPEN: string; TAB_KNOWLEDGE_BASE: string; RESOURCE_ARTICLES: string; CHAT_EVENT_LISTENER: string; TYPE_MISSED: string; TAB_CONVERSATIONS: string; TAB_FAQ: string; LAUNCHER_HORIZONTAL_LEFT: string; ARTICLE_CLOSED: string; CHAT_CLOSED: string; LAUNCHER_MODE_FLOATING: string; LAUNCHER_VERTICAL_TOP: string; CHAT_QUEUE_POSITION_CHANGED: string; EVENT_RESOURCE_LIKED: string; CUSTOMTRIGGER: string; EVENT_HANDLE_CUSTOM_LAUNCHER_VISIBILITY: string; EVENT_RESOURCE_OPENED: string; EVENT_VISITOR_REGISTRATION_FAILURE: string; RE_REGISTER_PUSH: string; }; initialize(configuration: Object): Promise; fetchAttenderImage(attenderId: string, defaultImage: boolean, imageCallback: () => void): void; getChats(listCallback: () => void): void; getChatsWithFilter(filter: string, listCallback: () => void): void; getDepartments(departmentCallback: () => void): void; isMultipleOpenChatRestricted(callback: () => void): void; getArticles(articlesCallback: () => void): void; getArticlesWithCategoryID(categoryId: string, articlesCallback: () => void): void; getCategories(categoryCallback: () => void): void; openArticle(id: string, articlesCallback: () => void): void; init(appKey: string, accessKey: string): void; initWithCallback(appKey: string, accessKey: string, initCallback: () => void): void; showLauncher(mode: string): void; updateListener(listener: string): void; setVisibilityModeToCustomLauncher(mode: string): void; enableDragToDismiss(enabled: boolean): void; setMinimumPressDuration(duration: number): void; setChatTitle(title: string): void; hideQueueTime(hide: boolean): void; setLanguage(code: string): void; setDepartment(department: string): void; setDepartments(department: Array): void; setOperatorEmail(email: string): void; showOperatorImageInChat(visible: boolean): void; setFeedbackVisibility(visible: boolean): void; setRatingVisibility(visible: boolean): void; showOperatorImageInLauncher(show: boolean): void; openChat(): void; openChatWithID(chatId: string): void; showPayloadChat(result: Object): void; showOfflineMessage(show: boolean): void; endChat(chatId: string): void; setLauncherVisibility(visible: boolean): void; setVisitorName(name: string): void; setVisitorEmail(email: string): void; setVisitorContactNumber(number: string): void; setVisitorAddInfo(key: string, value: string): void; setQuestion(question: string): void; startChat(question: string): void; setConversationVisibility(visible: boolean): void; setConversationListTitle(title: string): void; setFAQVisibility(visible: boolean): void; registerVisitor(uniqueId: string, callback?: () => void): void; registerVisitorNew(uniqueId?: string, visitorInfo?: Object, callback?: () => void): void; unregisterVisitor(callback?: () => void): void; unregisterVisitorNew(registerAsGuest: boolean, callback?: () => void): void; setPageTitle(title: string): void; setCustomAction(actionName: string): void; performCustomAction(actionName: string, shouldOpenChatWindow: boolean): void; enableInAppNotification(): void; disableInAppNotification(): void; setThemeColorforiOS(colorCode: string): void; setThemeColor(theme: Object | null): void; setChatComponentVisibility(chatComponentName: string, visibility: boolean): void; setVisitorNameVisibility(visibility: boolean): void; enablePreChatForms(): void; disablePreChatForms(): void; enableScreenshotOption(): void; disableScreenshotOption(): void; registerChatAction(actionName: string): void; unregisterChatAction(actionName: string): void; unregisterAllChatActions(): void; setChatActionTimeout(timeout: number): void; completeChatAction(uuid: string): void; completeChatActionWithMessage(uuid: string, success: boolean, message: string): void; setVisitorLocation(visitorLocation: Object): void; syncThemeWithOsForAndroid(sync: boolean): void; isChatEnabled(callback: () => void): void; getChatUnreadCount(callback: () => void): void; setLauncherPropertiesForAndroid(launcherPropertiesMap: Object): void; refreshLauncherPropertiesForAndroid(): void; refreshLauncher(): void; addListener(eventName: string): void; removeListeners(count: number): void; processNotificationMessage(extras: Object): void; isSDKMessage(map: Object, callback: () => void): void; registerPush(fcmToken: string, isTestDevice: boolean): void; getNotificationPayload(readableMap: Object, callback: () => void): void; setNotificationActionSource(actionSource: string): void; present(tabString?: string, id?: string, callback?: () => void): void; setCustomFont(map: Object): void; sendEvent(event: string, objects: Array): void; shouldOpenUrl(value: boolean): void; setTabOrder(tabNames: Array): void; printDebugLogsForAndroid(value: boolean): void; setNotificationIconForAndroid(drawableName: string): void; setThemeForAndroid(name: string): void; setLoggerEnabled(value: boolean): void; isLoggerEnabled(callback: () => void): void; clearLogsForiOS(): void; setLoggerPathForiOS(value: string): void; writeLogForiOS(message: string, logLevel: string, callback?: () => void): void; dismissUI(): void; showFeedbackAfterSkip(enable: boolean): void; showFeedbackUpToDuration(duration: number): void; startNewChat(question: string, customChatId: string | null, departmentName: string | null, callback: () => void): void; startNewChatWithTrigger(customChatId: string | null, departmentName: string | null, callback: () => void): void; getChat(chatId: string, callback: () => void): void; setChatWaitingTime(seconds: number): void; isKnowledgeBaseEnabled(type: string, callback: () => void): void; setKnowledgeBaseRecentlyViewedCount(limit: number): void; setKnowledgeBaseVisibility(type: string, shouldShow: boolean): void; categorizeKnowledgeBase(type: string, shouldCategorize: boolean): void; combineKnowledgeBaseDepartments(type: string, merge: boolean): void; getKnowledgeBaseResourceDepartments(callback: () => void): void; openKnowledgeBase(type: string, id: string, callback: () => void): void; getKnowledgeBaseSingleResource(type: string, id: string, callback: () => void): void; getKnowledgeBaseResources(type: string, departmentID: string, parentCategoryID: string, page: number, limit: number, searchKey: string, callback: () => void): void; getKnowledgeBaseCategories(type: string, departmentID: string | null, parentCategoryID: string | null, callback: () => void): void; updateConfiguration(key: string, value: Object): void; registerLocalizationFile(fileName: string): void; reRegisterPush(): void; getCommunicationMode(): Promise; setChatConversationTitle(online?: string, offline?: string): void; setAttributes(attributes: Object): Promise; fetchDepartments(): Promise; refreshData(data: Object): Promise; setDataProvider(config: Object): void; } export default TurboModuleRegistry.getEnforcing('RNZohoSalesIQMobilisten');