core-sdk-raro
Version:
core-sdk--raro
309 lines (308 loc) • 10.3 kB
TypeScript
/** 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',
}