UNPKG

core-sdk-raro

Version:

core-sdk--raro

309 lines (308 loc) 10.3 kB
/** Represents the options available for Audit Trail Images */ export declare enum FaceTecAuditTrailType { Disabled = 0, FullResolution = 1, } export declare enum FaceTecRetryScreen { ShowStandardRetryScreenIfRejected = 0, ShowCameraFeedIssueScreenIfRejected = 1, } /** Represents the status of the SDK */ export declare enum FaceTecSDKStatus { /** * Initialize was never attempted. */ NeverInitialized = 0, /** * The Key provided was verified. */ Initialized = 1, /** * The Key could not be verified due to connectivity issues on the user's device. */ NetworkIssues = 2, /** * The Key provided was invalid. */ InvalidDeviceKeyIdentifier = 3, /** * DEPRECATED */ VersionDeprecated = 4, /** * This device/platform/browser/version combination is not supported by the FaceTec Browser SDK. */ DeviceNotSupported = 5, /** * Device is in landscape display orientation. The FaceTec Browser SDK can only be used in portrait display orientation. */ DeviceInLandscapeMode = 6, /** * Device is in reverse portrait mode. The FaceTec Browser SDK can only be used in portrait display orientation. */ DeviceLockedOut = 7, /** * The Key was expired, contained invalid text, or you are attempting to initialize on a domain that is not specified in your Key. */ KeyExpiredOrInvalid = 8, /** * The Session was cancelled, the FaceTec Browser SDK was opened in an IFrame without permission. */ IFrameNotAllowedWithoutPermission = 9, /** * FaceTec SDK is still loading resources. */ StillLoadingResources = 10, /** * FaceTec SDK could not load resources. */ ResourcesCouldNotBeLoadedOnLastInit = 11, } /** Represents the various end states of a FaceTec Browser Session */ export declare enum FaceTecSessionStatus { /** * The Session was performed successfully and a FaceScan was generated. Pass the FaceScan to the Server for further processing. */ SessionCompletedSuccessfully = 0, /** * The Session was cancelled because not all guidance images were configured. */ MissingGuidanceImages = 1, /** * The Session was cancelled because the user was unable to complete a Session in the default allotted time or the timeout set by the developer. */ Timeout = 2, /** * The Session was cancelled due to the app being terminated, put to sleep, an OS notification, or the app was placed in the background. */ ContextSwitch = 3, /** * The developer programmatically called the Session cancel API. */ ProgrammaticallyCancelled = 4, /** * The Session was cancelled due to a device orientation change during the Session. */ OrientationChangeDuringSession = 5, /** * The Session was cancelled because device is in landscape mode. * The user experience of devices in these orientations is poor and thus portrait is required. */ LandscapeModeNotAllowed = 6, /** * The user pressed the cancel button and did not complete the Session. */ UserCancelled = 7, /** * The user pressed the cancel button during New User Guidance. */ UserCancelledFromNewUserGuidance = 8, /** * The user pressed the cancel button during Retry Guidance. */ UserCancelledFromRetryGuidance = 9, /** * The user cancelled out of the the FaceTec Browser SDK experience while attempting to get camera permissions. */ UserCancelledWhenAttemptingToGetCameraPermissions = 10, /** * The Session was cancelled because the user was in a locked out state. */ LockedOut = 11, /** * The Session was cancelled because camera was not enabled. */ CameraNotEnabled = 12, /** * This status will never be returned in a properly configured or production app. * This status is returned if your Key is invalid or network connectivity issues occur during a session when the application is not in production. */ NonProductionModeDeviceKeyIdentifierInvalid = 13, /** * The Session was cancelled because the FaceTec Browser SDK cannot be rendered when the document is not ready. */ DocumentNotReady = 14, /** * The Session was cancelled because there was another Session in progress. */ SessionInProgress = 15, /** * The Session was cancelled because the selected camera is not active. */ CameraNotRunning = 16, /** * The Session was cancelled because initialization has not been completed yet. */ InitializationNotCompleted = 17, /** * The Session was cancelled because of an unknown and unexpected error. The FaceTec Browser SDK leverages a variety of platform APIs including camera, storage, security, networking, and more. * This return value is a catch-all for errors experienced during normal usage of these APIs. */ UnknownInternalError = 18, /** * The Session cancelled because user pressed the Get Ready screen subtext message. * Note: This functionality is not available by default, and must be requested from FaceTec in order to enable. */ UserCancelledViaClickableReadyScreenSubtext = 19, /** * The Session was cancelled, the FaceTec Browser SDK was opened in an Iframe without an Iframe constructor. */ NotAllowedUseIframeConstructor = 20, /** * The Session was cancelled, the FaceTec Browser SDK was not opened in an Iframe with an Iframe constructor. */ NotAllowedUseNonIframeConstructor = 21, /** * The Session was cancelled, the FaceTec Browser SDK was not opened in an Iframe without permission. */ IFrameNotAllowedWithoutPermission = 22, /** * FaceTec SDK is still loading resources. */ StillLoadingResources = 23, /** * FaceTec SDK could not load resources. */ ResourcesCouldNotBeLoadedOnLastInit = 24, /** * The Session was cancelled because a full screen mode change was detected in an IFrame */ UserCancelledFullScreenMode = 25, } /** Result returned in callback function passed to FaceTecSession */ export interface FaceTecSessionResult { faceScan: string | null auditTrail: string[] lowQualityAuditTrail: string[] sessionId: string | null status: FaceTecSessionStatus isCompletelyDone: boolean // eslint-disable-next-line @typescript-eslint/ban-types [key: string]: string | FaceTecSessionStatus | null | {} } /** Callback functions for the FaceTecFaceScanProcessor */ export declare class FaceTecFaceScanResultCallback { proceedToNextStep: ( scanResultBlob: string, idScanNextStep?: FaceTecIDScanNextStep ) => void succeed: (idScanNextStep?: FaceTecIDScanNextStep) => void retry: (retryScreen?: FaceTecRetryScreen) => void cancel: () => void uploadProgress: (uploadedPercent: number) => void uploadMessageOverride: (uploadMessageOverride: string) => void } /** Abstract class for developer to override for processing FaceTec sessions. */ export declare abstract class FaceTecFaceScanProcessor { abstract onFaceTecSDKCompletelyDone: () => void abstract processSessionResultWhileFaceTecSDKWaits: ( sessionResult: FaceTecSessionResult, faceScanResultCallback: FaceTecFaceScanResultCallback ) => void } /** FaceTec ID Scan result status enum */ export declare enum FaceTecIDScanStatus { /** The ID Scan was successful. */ Success = 0, /** The ID Scan was not successful */ Unsuccess = 1, /** User cancelled ID Scan */ UserCancelled = 2, /** Timeout during ID Scan */ TimedOut = 3, /** Context Switch during ID Scan */ ContextSwitch = 4, /** Error setting up the ID Scan Camera */ CameraError = 5, /** Camera Permissions were not enabled */ CameraNotEnabled = 6, /** ID Scan was skipped. */ Skipped = 7, } /** ID Scan Result object */ export interface FaceTecIDScanResult { status: FaceTecIDScanStatus idScan: string | null frontImages: string[] backImages: string[] sessionId: string | null isCompletelyDone: boolean } /** Callback functions for FaceTecIDScanProcessor */ export declare class FaceTecIDScanResultCallback { cancel: () => void uploadProgress: (uploadedPercent: number) => void uploadMessageOverride: (uploadMessageOverride: string) => void proceedToNextStep: ( scanResultBlob: string, idScanNextStep?: FaceTecIDScanNextStep ) => void } /** Abstract class for developer to override for processing FaceTec ID Scans. */ export declare abstract class FaceTecIDScanProcessor { abstract onFaceTecSDKCompletelyDone: () => void abstract processSessionResultWhileFaceTecSDKWaits: ( sessionResult: FaceTecSessionResult, faceScanResultCallback: FaceTecFaceScanResultCallback ) => void abstract processIDScanResultWhileFaceTecSDKWaits: ( idScanResult: FaceTecIDScanResult, idCheckResultCallback: FaceTecIDScanResultCallback ) => void } /** * Describes the next step to go into during the Photo ID Match process. * By default, when FaceTecFaceScanProcessor.succeed() is called, the User is taken to the ID Document Type Selection Screen. * Passing different values of FaceTecIDScanNextStep as a parameter for FaceTecFaceScanResultCallback.succeed() allows you to control whether to take the User to the ID Document Type Selection Screen or to skip the ID Scan process altogether. * You may want to skip the ID Scan process altogether if you have custom server-side logic that in some cases deems the Photo ID Match flow as not necessary. */ export declare enum FaceTecIDScanNextStep { /** * Start ID Scan process with showing the Selection Screen. * This is default behavior. */ SelectionScreen = 0, /** * Skip the entire ID Scan process, exiting from the FaceTec Browser SDK interface after a successful Session. */ Skip = 1, } /** * Vocal Guidance Modes * By default VocalGuidanceCustomization mode is set to MINIMAL_VOCAL_GUIDANCE */ export declare enum FaceTecVocalGuidanceMode { MINIMAL_VOCAL_GUIDANCE = 0, FULL_VOCAL_GUIDANCE = 1, NO_VOCAL_GUIDANCE = 2, } /** * Interface for the SDK Initialize Callback */ export interface InitializeCallback { (result: boolean): void } /** * Max Audit Trail Images To Return * By default one audit trail image will be returned */ export declare enum FaceTecAuditTrailImagesToReturn { ONE = '1', UP_TO_SIX = '6', }