@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
70 lines (64 loc) • 3.7 kB
text/typescript
/**
* Copyright © 2023-2024 Nevis Security AG. All rights reserved.
*/
import type { TurboModule } from 'react-native';
import { TurboModuleRegistry } from 'react-native';
import type { DeviceInformationCheckResultMessage } from './model/messages/in/DeviceInformationCheckResultMessage';
import type { DeviceInformationSyncResultMessage } from './model/messages/in/DeviceInformationSyncResultMessage';
import type { IsPolicyCompliantInMessage } from './model/messages/in/IsPolicyCompliantInMessage';
import type { LocalAccountsMessage } from './model/messages/in/LocalAccountsMessage';
import type { LocalAuthenticatorsMessage } from './model/messages/in/LocalAuthenticatorsMessage';
import type { LocalDeviceInformationMessage } from './model/messages/in/LocalDeviceInformationMessage';
import type { MetaDataInMessage } from './model/messages/in/MetaDataInMessage';
import type { OnSuccessMessage } from './model/messages/in/OnSuccessMessage';
import { OperationTypeMessage } from './model/messages/in/OperationTypeMessage';
import type { PendingOutOfBandOperationsResultMessage } from './model/messages/in/PendingOutOfBandOperationsResultMessage';
/* eslint-disable @typescript-eslint/no-wrapper-object-types */
export interface Spec extends TurboModule {
//
// Basic SDK invocations
//
initClient(message: Object): Promise<void>;
payloadDecode(message: Object): Promise<OnSuccessMessage>;
oobOperation(message: Object): Promise<OperationTypeMessage>;
oobRegister(message: Object): Promise<void>;
oobAuthenticate(message: Object): Promise<OnSuccessMessage>;
inBandRegister(message: Object): Promise<void>;
authCloudApiRegister(message: Object): Promise<void>;
authenticate(message: Object): Promise<OnSuccessMessage>;
deregister(message: Object): Promise<void>;
deviceInformationChange(message: Object): Promise<void>;
deviceInformationCheck(message: Object): Promise<DeviceInformationCheckResultMessage>;
deviceInformationSync(message: Object): Promise<DeviceInformationSyncResultMessage>;
pendingOutOfBandOperations(message: Object): Promise<PendingOutOfBandOperationsResultMessage>;
pinChange(message: Object): Promise<void>;
passwordChange(message: Object): Promise<void>;
localAccounts(message: Object): Promise<LocalAccountsMessage>;
localAuthenticators(message: Object): Promise<LocalAuthenticatorsMessage>;
localDeleteAuthenticator(message: Object): Promise<void>;
localDeviceInformation(message: Object): Promise<LocalDeviceInformationMessage>;
//
// Auxiliary SDK invocations
//
authenticatorAaid(message: Object): Promise<void>;
pinEnroll(message: Object): Promise<void>;
pinsChange(message: Object): Promise<void>;
pinValidatedForEnrollment(message: Object): Promise<void>;
pinValidatedForPinChange(message: Object): Promise<void>;
pinVerify(message: Object): Promise<void>;
passwordEnroll(message: Object): Promise<void>;
passwordsChange(message: Object): Promise<void>;
passwordValidatedForEnrollment(message: Object): Promise<void>;
passwordValidatedForPasswordChange(message: Object): Promise<void>;
passwordVerify(message: Object): Promise<void>;
accountUsername(name: Object): Promise<void>;
cancel(message: Object): Promise<void>;
isPolicyCompliant(message: Object): Promise<IsPolicyCompliantInMessage>;
listenForOsCredentials(message: Object): Promise<void>;
cancelAuthentication(message: Object): Promise<void>;
pauseListening(message: Object): Promise<void>;
resumeListening(message: Object): Promise<void>;
metaData(message: Object): Promise<MetaDataInMessage>;
}
/* eslint-enable @typescript-eslint/no-wrapper-object-types */
export default TurboModuleRegistry.getEnforcing<Spec>('NevisMobileAuthenticationSdkReact');