import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; export enum feedbackSDKViewMode { Default = 0, BottomSheet = 1, } export enum feedbackSDKCallback { None = 0, Closed, SendFeedback, Outside, Opened, DisplayOnce, PreventMultipleFeedback, QuotaExceeded, DisplayRateLimited, SurveyPassive, HealthCheckFailed, } export interface Spec extends TurboModule { debugMode(debugMode: boolean): void; boot( appId: string, accessKey: string, code: string, apiUrl: string, feedbackUrl: string, eventUrl?: string, callback?: (status: feedbackSDKCallback | undefined | string) => void ): void; show( viewMode: feedbackSDKViewMode, title: string | null, titleFontSize: number | null, code: string | null, language: string | null, customer: Object | null, payload: Object | null, callback: (status: feedbackSDKCallback | undefined | string) => void ): void; clear(): void; } export default TurboModuleRegistry.getEnforcing('FeedbackReactNativeSdk');