import { TurboModuleRegistry, type TurboModule } from 'react-native'; type KlarnaConfigurationSpec = Readonly<{ clientId: string; appReturnUrl: string; accountId: string | null; locale: string | null; klarnaNetworkSessionToken: string | null; }>; type KlarnaParticipantMetadataSpec = Readonly<{ name: string; sessionReference: string; moduleName: string | null; moduleVersion: string | null; }>; type KlarnaIntegrationMetadataSpec = Readonly<{ integrator: KlarnaParticipantMetadataSpec; originators: ReadonlyArray | null; }>; export interface Spec extends TurboModule { initialize( instanceId: string, configuration: KlarnaConfigurationSpec ): Promise; getSessionToken(instanceId: string): Promise; clearSession(instanceId: string): Promise; handleReturnUrl(url: string): Promise; setIntegrationMetadata( instanceId: string, metadata: KlarnaIntegrationMetadataSpec ): void; dispose(instanceId: string): Promise; } export default TurboModuleRegistry.getEnforcing('KlarnaNetworkCore');