import { CameraPosition } from './customization/camera_position' import { CustomizationColors } from './customization/customization_colors' import { CustomizationFonts } from './customization/customization_fonts' import { CustomizationImages } from './customization/customization_images' import { Customization, CustomButtonTappedCompletion } from './customization/customization' import { Font } from './customization/font' import { ScreenOrientation } from './customization/screen_orientation' export { CameraPosition, CustomizationColors, CustomizationFonts, CustomizationImages, Customization, CustomButtonTappedCompletion, Font, ScreenOrientation, } import { FaceSDKVersion } from './init/face_sdk_version' import { InitConfig } from './init/init_config' import { InitException } from './init/init_exception' import { InitErrorCode } from './init/init_exception' import { LicenseException } from './init/license_exception' import { LicensingResultCode } from './init/license_exception' export { FaceSDKVersion, InitConfig, InitException, InitErrorCode, LicenseException, LicensingResultCode, } import { DetectFaceResult } from './detect_faces/detect_face_result' import { DetectFacesAttributeResult } from './detect_faces/detect_faces_attribute_result' import { DetectFacesAttribute } from './detect_faces/detect_faces_attribute' import { DetectFacesBackendException, DetectFacesBackendErrorCode } from './detect_faces/detect_faces_backend_exception' import { DetectFacesConfig } from './detect_faces/detect_faces_config' import { DetectFacesException, DetectFacesErrorCode } from './detect_faces/detect_faces_exception' import { DetectFacesRequest } from './detect_faces/detect_faces_request' import { DetectFacesResponse } from './detect_faces/detect_faces_response' import { DetectFacesScenario } from './detect_faces/detect_faces_scenario' export { DetectFaceResult, DetectFacesAttributeResult, DetectFacesAttribute, DetectFacesBackendException, DetectFacesBackendErrorCode, DetectFacesConfig, DetectFacesException, DetectFacesErrorCode, DetectFacesRequest, DetectFacesResponse, DetectFacesScenario, } import { FaceCaptureConfig } from './face_capture/face_capture_config' import { FaceCaptureException, FaceCaptureErrorCode } from './face_capture/face_capture_exception' import { FaceCaptureImage, ImageType } from './face_capture/face_capture_image' import { FaceCaptureResponse } from './face_capture/face_capture_response' export { FaceCaptureConfig, FaceCaptureException, FaceCaptureErrorCode, FaceCaptureImage, ImageType, FaceCaptureResponse, } import { OutputImageCrop, OutputImageCropAspectRatio } from './image_params/output_image_crop' import { OutputImageParams } from './image_params/output_image_params' import { Point } from './image_params/point' import { Rect } from './image_params/rect' import { Size } from './image_params/size' export { OutputImageCrop, OutputImageCropAspectRatio, OutputImageParams, Point, Rect, Size, } import { ImageQualityCharacteristicName } from './image_quality/image_quality_characteristic_name' import { ImageQualityCharacteristic } from './image_quality/image_quality_characteristic' import { ImageQualityGroup } from './image_quality/image_quality_group' import { ImageQualityRange } from './image_quality/image_quality_range' import { ImageQualityResult, ImageQualityGroupName, ImageQualityResultStatus } from './image_quality/image_quality_result' export { ImageQualityCharacteristicName, ImageQualityCharacteristic, ImageQualityGroup, ImageQualityRange, ImageQualityResult, ImageQualityGroupName, ImageQualityResultStatus, } import { LivenessConfig, RecordingProcess, LivenessType, LivenessSkipStep } from './liveness/liveness_config' import { EnrollmentConfig } from './liveness/enrollment_config' import { EnrollmentRequest } from './liveness/enrollment_request' import { VerificationConfig } from './liveness/verification_config' import { LivenessBackendException, LivenessBackendErrorCode } from './liveness/liveness_backend_exception' import { LivenessException, LivenessErrorCode } from './liveness/liveness_exception' import { LivenessResponse, LivenessStatus } from './liveness/liveness_response' import { LivenessNotification, LivenessProcessStatus, LivenessNotificationCompletion } from './liveness/liveness_notification' import { ErrorResponse } from './liveness/error_response' import { EnrollmentResponse } from './liveness/enrollment_response' import { VerifyMatchResponse } from './liveness/verify_match_response' import { VerificationResponse } from './liveness/verification_response' export { LivenessBackendException, LivenessBackendErrorCode, LivenessConfig, RecordingProcess, LivenessType, LivenessSkipStep, LivenessException, LivenessErrorCode, LivenessNotification, LivenessProcessStatus, LivenessNotificationCompletion, LivenessResponse, LivenessStatus, // EnrollmentConfig, // EnrollmentRequest, // VerificationConfig, // ErrorResponse, // EnrollmentResponse, // VerifyMatchResponse, // VerificationResponse, } import { ComparedFace } from './match_faces/compared_face' import { ComparedFacesPair } from './match_faces/compared_faces_pair' import { ComparedFacesSplit } from './match_faces/compared_faces_split' import { MatchFacesBackendException } from './match_faces/match_faces_backend_exception' import { MatchFacesConfig, ProcessingMode } from './match_faces/match_faces_config' import { MatchFacesDetectionFace } from './match_faces/match_faces_detection_face' import { MatchFacesDetection } from './match_faces/match_faces_detection' import { MatchFacesException, MatchFacesErrorCode } from './match_faces/match_faces_exception' import { MatchFacesImage } from './match_faces/match_faces_image' import { MatchFacesRequest } from './match_faces/match_faces_request' import { MatchFacesResponse } from './match_faces/match_faces_response' export { ComparedFace, ComparedFacesPair, ComparedFacesSplit, MatchFacesBackendException, MatchFacesConfig, ProcessingMode, MatchFacesDetectionFace, MatchFacesDetection, MatchFacesException, MatchFacesErrorCode, MatchFacesImage, MatchFacesRequest, MatchFacesResponse, } import { EditGroupPersonsRequest } from './person_database/edit_group_persons_request' import { ImageUpload } from './person_database/image_upload' import { PageableItemList } from './person_database/pageable_item_list' import { PersonDatabase } from './person_database/person_database' import { PersonGroup } from './person_database/person_group' import { PersonImage } from './person_database/person_image' import { Person } from './person_database/person' import { SearchPersonDetection } from './person_database/search_person_detection' import { SearchPersonImage } from './person_database/search_person_image' import { SearchPersonRequest } from './person_database/search_person_request' import { SearchPerson } from './person_database/search_person' export { EditGroupPersonsRequest, ImageUpload, PageableItemList, PersonDatabase, PersonGroup, PersonImage, Person, SearchPersonDetection, SearchPersonImage, SearchPersonRequest, SearchPerson, } /** * Entry point of the Regula Face SDK. */ export class FaceSDK { /** * The only instance of singleton class {@link FaceSDK}. */ static get instance(): FaceSDK private constructor() /** * Information about the SDK. */ get version(): FaceSDKVersion | null get serviceUrl(): string | null set serviceUrl(val: string | null) /** Customer name. */ tenant: string | null; /** Environment type. */ env: string | null; /** * Custom language locale code of DocumentReaderSDK. * If empty or doesn't exist - app language is used. Format "en-US" or "en". */ locale: string | null; /** * A localization dictionary to override default localization logic. * Allows to replace any string of FaceSDK with an arbitrary string. * * To see all the localization keys, look up the RegulaSDK.strings file at * ios/Pods/FaceSDK/FaceSDK.xcframework/ios-arm64/FaceSDK.framework/FaceSDK.bundle/en.lproj/FaceSDK.strings. * * Immutable property. Use setter instead of editing. */ get localizationDictionary(): Record | null set localizationDictionary(val: Record | null) /** * Immutable property. Use setter instead of editing. */ get requestHeaders(): Record | null set requestHeaders(val: Record | null) get customization(): Customization set customization(val: Customization) /** * Allows user to receive a video file of current session. */ set videoEncoderCompletion(completion: VideoEncoderCompletion) get personDatabase(): PersonDatabase /** * Checks if FaceSDK is initialized. */ isInitialized(): Promise /** * Allows you to initialize FaceSDK. * * @param params.config - configuration file for FaceSDK initialization. * * @returns Returns boolean indicating success of initialization * and a nullable {@link InitException}. */ initialize( options?: { config?: InitConfig } ): Promise<[boolean, InitException | null]> /** * Used to deinitialize FaceSDK and free up RAM as a * consequence of this. */ deinitialize(): void startFaceCapture( options?: { config?: FaceCaptureConfig, cameraSwitchCallback?: CameraSwitchCallback, } ): Promise stopFaceCapture(): void startLiveness( options?: { config?: LivenessConfig, notificationCompletion?: LivenessNotificationCompletion, cameraSwitchCallback?: CameraSwitchCallback, } ): Promise // startEnrollment( // config: EnrollmentConfig, // options?: { // notificationCompletion?: LivenessNotificationCompletion, // cameraSwitchCallback?: CameraSwitchCallback, // } // ): Promise<[LivenessResponse, EnrollmentResponse | null]> // startVerification( // config: VerificationConfig, // options?: { // notificationCompletion?: LivenessNotificationCompletion, // cameraSwitchCallback?: CameraSwitchCallback, // } // ): Promise<[LivenessResponse, VerificationResponse | null]> // enrollWithTrustedPhoto(request: EnrollmentRequest): Promise stopLiveness(): void matchFaces( request: MatchFacesRequest, options?: { config?: MatchFacesConfig } ): Promise splitComparedFaces( facesPairs: Array, similarityThreshold: number ): Promise detectFaces(request: DetectFacesRequest): Promise } export type VideoEncoderCompletion = (transactionId: string, success: boolean) => void export type CameraSwitchCallback = (cameraId: number) => void