import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { initialize( userAgentName: string, userAgentVersion: string, apiKey: string, localConfigurationPath: string | null, remoteConfigurationURL: string | null, providerId: string | null, disableDidomiRemoteConfig: boolean, languageCode: string | null, noticeId: string | null, androidTvNoticeId: string | null, androidTvEnabled: boolean, countryCode: string | null, regionCode: string | null ): Promise; initializeWithParameters( userAgentName: string, userAgentVersion: string, parameters: string ): Promise; onReady(): Promise; onError(): Promise; isReady(): Promise; isError(): Promise; reset(): Promise; clearUser(): Promise; setupUI(): Promise; forceShowNotice(): Promise; showNotice(): Promise; hideNotice(): Promise; isNoticeVisible(): Promise; showPreferences(view: string | null): Promise; hidePreferences(): Promise; isPreferencesVisible(): Promise; isConsentRequired(): Promise; shouldUserStatusBeCollected(): Promise; shouldConsentBeCollected(): Promise; isUserConsentStatusPartial(): Promise; isUserStatusPartial(): Promise; isUserLegitimateInterestStatusPartial(): Promise; getCurrentUserStatus(): Promise; setCurrentUserStatus(currentUserStatusAsString: string): Promise; getUserStatus(): Promise; setUserStatus( purposesConsentStatus: boolean, purposesLIStatus: boolean, vendorsConsentStatus: boolean, vendorsLIStatus: boolean ): Promise; setUserStatusSets( enabledConsentPurposeIds: Array, disabledConsentPurposeIds: Array, enabledLIPurposeIds: Array, disabledLIPurposeIds: Array, enabledConsentVendorIds: Array, disabledConsentVendorIds: Array, enabledLIVendorIds: Array, disabledLIVendorIds: Array ): Promise; setUserConsentStatus( enabledPurposeIds: Array, disabledPurposeIds: Array, enabledVendorIds: Array, disabledVendorIds: Array ): Promise; setUserAgreeToAll(): Promise; setUserDisagreeToAll(): Promise; getApplicableRegulation(): Promise; getPurpose(purposeId: string): Promise; getRequiredPurposes(): Promise; getRequiredPurposeIds(): Promise>; getVendor(vendorId: string): Promise; getRequiredVendors(): Promise; getRequiredVendorIds(): Promise>; getTotalVendorCount(): Promise; getIabVendorCount(): Promise; getNonIabVendorCount(): Promise; getText(key: string): Promise; getTranslatedText(key: string): Promise; getJavaScriptForWebView(extra: string | null): Promise; getQueryStringForWebView(): Promise; updateSelectedLanguage(languageCode: string): Promise; setLogLevel(level: number): Promise; setUser(id: string): Promise; setUserAndSetupUI(id: string): Promise; setUserWithHashAuth( id: string, algorithm: string, secretId: string, digest: string, salt: string | null ): Promise; setUserWithHashAuthAndSetupUI( id: string, algorithm: string, secretId: string, digest: string, salt: string | null ): Promise; setUserWithHashAuthWithExpiration( id: string, algorithm: string, secretId: string, digest: string, salt: string | null, expiration: number ): Promise; setUserWithHashAuthWithExpirationAndSetupUI( id: string, algorithm: string, secretId: string, digest: string, salt: string | null, expiration: number ): Promise; setUserWithEncryptionAuth( id: string, algorithm: string, secretId: string, initializationVector: string ): Promise; setUserWithEncryptionAuthAndSetupUI( id: string, algorithm: string, secretId: string, initializationVector: string ): Promise; setUserWithEncryptionAuthWithExpiration( id: string, algorithm: string, secretId: string, initializationVector: string, expiration: number ): Promise; setUserWithEncryptionAuthWithExpirationAndSetupUI( id: string, algorithm: string, secretId: string, initializationVector: string, expiration: number ): Promise; setUserWithAuthParams( jsonUserAuthParams: string, jsonSynchronizedUsers: string | null ): Promise; setUserWithAuthParamsAndSetupUI( jsonUserAuthParams: string, jsonSynchronizedUsers: string | null ): Promise; setUserWithParameters(jsonParameters: string): Promise; setUserWithParametersAndSetupUI(jsonParameters: string): Promise; listenToVendorStatus(vendorId: string): Promise; stopListeningToVendorStatus(vendorId: string): Promise; commitCurrentUserStatusTransaction( enabledPurposes: Array, disabledPurposes: Array, enabledVendors: Array, disabledVendors: Array ): Promise; syncAcknowledged(callbackIndex: number): Promise; removeSyncAcknowledgedCallback(callbackIndex: number): Promise; addListener(eventName: string): void; removeListeners(count: number): void; } export default TurboModuleRegistry.getEnforcing('Didomi');