UNPKG

@freshworks/react-native-freshdesk-sdk

Version:
38 lines (35 loc) 1.6 kB
import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; /** * Codegen spec for the Freshdesk native module. * * Parsed by @react-native/codegen. MUST contain only the react-native import, * the Spec interface, and the default export. All runtime logic (no-op * fallback, NativeEventEmitter wiring) lives in ./FreshdeskModule.ts. * * Rich public types (FreshdeskConfig, ContentConfiguration, ...) stay in * ./types.ts; the spec uses `Object` / `string` because codegen cannot * resolve cross-file structured types. */ export interface Spec extends TurboModule { initialize(config: Object): Promise<void>; openSupport(): Promise<void>; openKnowledgeBase(): Promise<void>; openTopic(topicName: string, topicId: string): Promise<void>; getUnreadCount(): Promise<number>; trackEvent(name: string, properties: Object): Promise<void>; setUserProperties(properties: Object): Promise<void>; setTicketProperties(properties: Object): Promise<void>; authenticateAndUpdate(jwt: string): Promise<void>; resetUser(): Promise<{ success: boolean; message: string; error: string }>; dismiss(): Promise<void>; setLinkHandlerEnabled(enabled: boolean): Promise<void>; getSDKVersion(): Promise<string>; getUser(): Promise<string>; setContentConfiguration(configJson: string): Promise<void>; enableDebugLogs(enabled: boolean): Promise<void>; runDiagnostics(): Promise<Object>; addListener(eventName: string): void; removeListeners(count: number): void; } export default TurboModuleRegistry.get<Spec>('FreshdeskReactNative');