UNPKG

@jumio/websdk

Version:

Jumio WebSDK is a powerful, flexible software development kit that simplifies the integration of Jumio's services into your web applications.

1,580 lines (1,387 loc) 777 kB
import { Actor } from 'xstate'; import { AnyEventObject } from 'xstate'; import { BehaviorSubject } from 'rxjs'; import { Container } from 'inversify'; import type { createStore } from '@ngneat/elf'; import { CSSResult } from 'lit'; import { EventObject } from 'xstate'; import { Factory } from 'inversify'; import { identity } from 'rxjs'; import { LitElement } from 'lit'; import { MachineContext } from 'xstate'; import { MetaObject } from 'xstate'; import { NonReducibleUnknown } from 'xstate'; import { nothing } from 'lit'; import { Observable } from 'rxjs'; import { PropertyValues } from 'lit'; import type { PropsFactory } from '@ngneat/elf'; import { QRCodeRenderersOptions } from 'qrcode'; import { QRCodeSegment } from 'qrcode'; import { ReactiveController } from 'lit'; import type { ReactiveControllerHost } from 'lit'; import { ReactiveElement } from 'lit'; import { Ref } from 'lit/directives/ref.js'; import { Ref as Ref_2 } from 'lit-html/directives/ref.js'; import { ServiceIdentifier } from 'inversify'; import { StateMachine } from 'xstate'; import { Static } from '@sinclair/typebox'; import { Store } from '@ngneat/elf'; import { Subject } from 'rxjs'; import { Subscription } from 'rxjs'; import { SVGTemplateResult } from 'lit'; import { TArray } from '@sinclair/typebox'; import { TBoolean } from '@sinclair/typebox'; import { TDate } from '@sinclair/typebox'; import { TemplateResult } from 'lit-html'; import { TemplateResult as TemplateResult_2 } from 'lit'; import { TIntersect } from '@sinclair/typebox'; import { TLiteral } from '@sinclair/typebox'; import { TNumber } from '@sinclair/typebox'; import { TObject } from '@sinclair/typebox'; import { TOptional } from '@sinclair/typebox'; import { TRecord } from '@sinclair/typebox'; import { TSchema } from '@sinclair/typebox'; import { TString } from '@sinclair/typebox'; import { TTemplateLiteral } from '@sinclair/typebox'; import { TTransform } from '@sinclair/typebox'; import { TUndefined } from '@sinclair/typebox'; import { TUnion } from '@sinclair/typebox'; import { TUnknown } from '@sinclair/typebox'; import { TUnsafe } from '@sinclair/typebox'; import { UnaryFunction } from 'rxjs'; import type { ValueError } from '@sinclair/typebox/errors'; export declare type AcceptableConsentItem = Static<typeof TbAcceptableConsentItemSchema>; export declare const acceptedMatchedId: EventDispatcher< { timestamp: number; IDshareConsent: string; idType?: string; }>; export declare type AcquisitionStatus = Static<typeof TbAcquisitionStatusSchema>; export declare const AcquisitionStatusEnum: { readonly Failed: "FAILED"; readonly NotStarted: "NOT_STARTED"; readonly Pending: "PENDING"; readonly Retry: "RETRY"; readonly Success: "SUCCESS"; }; export declare interface AcquisitionStatusResponse { status: AcquisitionStatus; error?: FetchError; } export declare type ActiveScreen = Static<typeof TbActiveScreenSchema>; export declare type ActiveScreenActions = Static<typeof TbActiveScreenActionsSchema>; export declare const ActiveScreenActionsEnum: { readonly NavigateToWorkflow: "active-screen-navigate-to-workflow"; readonly NavigateToCrossDevice: "active-screen-navigate-to-cross-device"; }; export declare const ActiveScreenEnum: { readonly Workflow: "workflow"; readonly CrossDevice: "cross-device"; }; export declare type ActiveTrackState = Pick<MediaStreamTrack, 'contentHint' | 'enabled' | 'id' | 'kind' | 'label' | 'muted' | 'readyState'> & { capabilities: MediaTrackCapabilities; constraints: MediaTrackConstraints; settings: MediaTrackSettings; }; export declare const aggregatedFeedback$: Observable<AutocaptureFeedback | undefined>; export declare const aleKeyNotValid: ErrorCase; export declare class AnalyticEvent<T extends AnalyticEventBody = AnalyticEventBody> extends CustomEvent<T> { constructor(detail: T); } export declare type AnalyticEventBody<ET extends EventType = EventType, EN extends string = string, M extends EventMetadata = EventMetadata> = EventBodyBase<ET, EN, M>; export declare const analytics: { createWorkflowRestarted: EventCreator<"trace", "workflow restarted", EventMetadata>; workflowRestarted: EventDispatcher<EventMetadata>; generateFileUploadLoggerEvents: <T extends FileUploadEventName>(eventName: T) => [EventCreator<"trace", T, FileUploadEventMap[T]>, EventDispatcher<FileUploadEventMap[T]>]; createSensorDataEvent: EventCreator<"trace", "sensor data", SensorData>; sensorData: EventDispatcher<SensorData>; createVideoPlayThrowsEvent: EventCreator<"trace", "video thrown an error", { name: string; message: string; stack?: string; state: unknown; }>; videoPlayThrows: EventDispatcher< { name: string; message: string; stack?: string; state: unknown; }>; createCameraCaptureHintsShownEvent: EventCreator<"trace", "shown camera capture hints", { visible: boolean; }>; shownCameraCaptureHints: EventDispatcher< { visible: boolean; }>; createFailedToFetchEvent: EventCreator<"trace", "failed to fetch", { error: FetchErrorParams; }>; failedToFetch: EventDispatcher< { error: FetchErrorParams; }>; createLivenessManualSelfieFallbackEvent: EventCreator<"trace", "liveness - manual selfie fallback", { step: string; reason: string; }>; livenessManualSelfieFallback: EventDispatcher< { step: string; reason: string; }>; createLivenessInitializedEvent: EventCreator<"trace", "liveness - initialized", { step: string; }>; livenessInitialized: EventDispatcher< { step: string; }>; createLivenessModuleLoadingFailedEvent: EventCreator<"trace", "liveness - module loading failed", { step: string; }>; livenessModuleLoadingFailed: EventDispatcher< { step: string; }>; createLivenessProgressEvent: EventCreator<"trace", "liveness - progress", { jliveProgressCurrentStep: number; jliveProgressStepsTotal: number; jLiveStepDuration: number; jLiveDuration: number; isFullscreen: boolean; cls?: CameraLivenessStatus; clsm?: CameraLivenessStatus; }>; livenessProgressEvent: EventDispatcher< { jliveProgressCurrentStep: number; jliveProgressStepsTotal: number; jLiveStepDuration: number; jLiveDuration: number; isFullscreen: boolean; cls?: CameraLivenessStatus; clsm?: CameraLivenessStatus; }>; createAutocaptureStateChangeEvent: EventCreator<"trace", "id autocapture - state change event", { step: string; autocaptureState: string; autocaptureFallbackReason?: string; }>; autocaptureStateChangeEvent: EventDispatcher< { step: string; autocaptureState: string; autocaptureFallbackReason?: string; }>; getEIDASUrlEvent: EventCreator<"trace", "get eIDAS url", EventMetadata>; getEidasUrl: EventDispatcher<EventMetadata>; EIDASSuccessEvent: EventCreator<"trace", "eIDAS success", EventMetadata>; eidasSuccess: EventDispatcher<EventMetadata>; EIDASFailedEvent: EventCreator<"trace", "eIDAS failed", EventMetadata>; eidasFailed: EventDispatcher<EventMetadata>; catchEIDASErrorEvent: EventCreator<"trace", "catch eIDAS error", { name?: string; message?: string; stack?: string; }>; catchEidasError: EventDispatcher< { name?: string; message?: string; stack?: string; }>; createTrustCheckSuccessEvent: EventCreator<"trace", "trust check success", EventMetadata>; trustCheckSuccessEvent: EventDispatcher<EventMetadata>; createTrustCheckFailedEvent: EventCreator<"trace", "trust check failed", EventMetadata>; trustCheckFailedEvent: EventDispatcher<EventMetadata>; createTrustCheckUrlFetchEvent: EventCreator<"trace", "trust check url fetch", EventMetadata>; trustCheckUrlFetchEvent: EventDispatcher<EventMetadata>; createTrustCheckUrlFetchErrorEvent: EventCreator<"trace", "trust check url fetch error", { name?: string; message?: string; stack?: string; }>; trustCheckUrlFetchErrorEvent: EventDispatcher< { name?: string; message?: string; stack?: string; }>; createTrustCheckStatusFetchErrorEvent: EventCreator<"trace", "trust check status fetch error", { name?: string; message?: string; stack?: string; }>; trustCheckStatusFetchErrorEvent: EventDispatcher< { name?: string; message?: string; stack?: string; }>; createUnhandledrejectionEvent: EventCreator<"trace", "unhandled promise rejection", { name: string; message: string; stack?: string; }>; unhandledrejectionEvent: EventDispatcher< { name: string; message: string; stack?: string; }>; createUncaughtErrorEvent: EventCreator<"trace", "uncaught error", { name: string; message: string; stack?: string; }>; uncaughtErrorEvent: EventDispatcher< { name: string; message: string; stack?: string; }>; createRedirectionEvent: EventCreator<"trace", "redirect", { url: string; type: "ERROR" | "SUCCESS"; errorCode?: string; }>; redirectionEvent: EventDispatcher< { url: string; type: "ERROR" | "SUCCESS"; errorCode?: string; }>; createCustomTranslationEvent: EventCreator<"trace", "custom translation", { customTranslation: string; }>; customTranslationEvent: EventDispatcher< { customTranslation: string; }>; createCustomTranslationErrorEvent: EventCreator<"trace", "custom translation error", { message: string; error?: unknown; }>; customTranslationErrorEvent: EventDispatcher< { message: string; error?: unknown; }>; createShownCameraAccessRequestScreenEvent: EventCreator<"screen", "camera access request", { kind: "denied" | "prompt"; devices: MediaDeviceMetadata[]; }>; shownCameraAccessRequestScreen: EventDispatcher< { kind: "denied" | "prompt"; devices: MediaDeviceMetadata[]; }>; createShownFinishScreenEvent: EventCreator<"screen", "finish", { outcome: RequestOutcome<FinalizeResponse | undefined, unknown>; }>; shownFinishScreen: EventDispatcher< { outcome: RequestOutcome<FinalizeResponse | undefined, unknown>; }>; createShownCrossDeviceScreenEvent: EventCreator<"screen", "cross device", EventMetadata>; shownCrossDeviceScreen: EventDispatcher<EventMetadata>; createShownCrossDeviceFinishScreenEvent: EventCreator<"screen", "cross device finish", { acquisitionStatus: AcquisitionStatus; error?: PublicError; }>; shownCrossDeviceFinishScreen: EventDispatcher< { acquisitionStatus: AcquisitionStatus; error?: PublicError; }>; createShownErrorEvent: EventCreator<"screen", "error", EventMetadata>; shownError: EventDispatcher<EventMetadata>; getShownScreenEventReporter: (eventName: string) => [EventCreator<"screen", string, { acquisitionStatus: AcquisitionStatus; }>, EventDispatcher< { acquisitionStatus: AcquisitionStatus; }>]; shownIdLookupScreen: EventDispatcher< { outcome: RequestOutcome<LookupResponse | undefined, unknown>; matchFound?: boolean; lookupDuration?: number; }>; createPublicErrorEvent: EventCreator<"screen", "public error", { errorCode: string; }>; publicError: EventDispatcher< { errorCode: string; }>; createSelectedCountryEvent: EventCreator<"action", "selected country", { country: string | undefined; }>; selectedCountry: EventDispatcher< { country: string | undefined; }>; createSelectedDocumentEvent: EventCreator<"action", "selected document", { document: string; digitalIdProvider?: string; }>; selectedDocument: EventDispatcher< { document: string; digitalIdProvider?: string; }>; createClickedStartButtonEvent: EventCreator<"action", "clicked start button", EventMetadata>; clickedStartButton: EventDispatcher<EventMetadata>; createClickedRetryButtonEvent: EventCreator<"action", "clicked retry button", EventMetadata>; clickedRetryButton: EventDispatcher<EventMetadata>; createClickedCrossDeviceButtonEvent: EventCreator<"action", "clicked cross device button", EventMetadata>; clickedCrossDeviceButton: EventDispatcher<EventMetadata>; createClickedSendEmailButtonEvent: EventCreator<"action", "clicked send email button", EventMetadata>; clickedSendEmailButton: EventDispatcher<EventMetadata>; createEmailSentError: EventCreator<"action", "email sent error", EventMetadata>; emailSentError: EventDispatcher<EventMetadata>; createClickedContinueUploadButtonEvent: EventCreator<"action", "clicked continue button", { documentType?: string; pageCount?: number; }>; clickedContinueUploadButton: EventDispatcher< { documentType?: string; pageCount?: number; }>; acceptedMatchedId: EventDispatcher< { timestamp: number; IDshareConsent: string; idType?: string; }>; createChangeLanguage: EventCreator<"action", "change language", EventMetadata>; changeLanguage: EventDispatcher<EventMetadata>; createClickedUseAnotherIdButton: EventCreator<"action", "clicked use another ID button", EventMetadata>; clickedUseAnotherIdButton: EventDispatcher<EventMetadata>; createSettingsEvent: EventCreator<"arbitrary", "settings", { credentials: unknown; }>; settings: EventDispatcher< { credentials: unknown; }>; createWrongSettingsEvent: EventCreator<"arbitrary", "wrong settings", (EventMetadata & WrongSettingsCritical) | (EventMetadata & WrongSettingsNonCritical)>; wrongSettings: EventDispatcher<(EventMetadata & WrongSettingsCritical) | (EventMetadata & WrongSettingsNonCritical)>; createRuntimeEvent: EventCreator<"arbitrary", "runtime", EventMetadata>; runtime: EventDispatcher<EventMetadata>; createShownConsentMessageEvent: EventCreator<"arbitrary", "shown consent message", EventMetadata>; shownConsentMessage: EventDispatcher<EventMetadata>; createUsedCaptureTypesEvent: EventCreator<"arbitrary", "capture types", { livenessCaptureType?: LivenessCaptureTypes; idCaptureType?: IdCaptureTypes; xDeviceJourney: boolean; usedAllCaptureTypes: (IdCaptureTypes | LivenessCaptureTypes)[]; }>; usedCaptureTypesEvent: EventDispatcher< { livenessCaptureType?: LivenessCaptureTypes; idCaptureType?: IdCaptureTypes; xDeviceJourney: boolean; usedAllCaptureTypes: (IdCaptureTypes | LivenessCaptureTypes)[]; }>; }; export declare class AppContainerComponent extends BaseComponent { #private; static styles: CSSResult[]; config: AppContainerConfig; activeConfig: AppContainerConfigFull; readonly layout$: Observable<AppContainerLayout>; readonly layoutController: AsyncController<AppContainerLayout, true>; constructor(); willUpdate(changedProperties: PropertyValues<this>): void; render(): TemplateResult<1> | typeof nothing; } export declare interface AppContainerConfig { headerVisible?: boolean; footerVisible?: boolean; layoutType?: AppContainerLayoutType; cameraFilterFn?: CameraFilterFn | undefined; } declare type AppContainerConfigFull = DeepRequired<Omit<AppContainerConfig, 'cameraFilterFn'>> & Pick<AppContainerConfig, 'cameraFilterFn'>; export declare type AppContainerLayout = AppContainerLayoutCaptureScreen | AppContainerLayoutGeneric; export declare interface AppContainerLayoutCaptureScreen { type: typeof AppContainerLayoutTypeEnum.CaptureScreen; variant: AppContainerLayoutCaptureScreenVariant; } export declare type AppContainerLayoutCaptureScreenVariant = Static<typeof TbAppContainerLayoutCaptureScreenVariantSchema>; export declare const AppContainerLayoutCaptureScreenVariantEnum: { readonly Small: "small"; readonly Large: "large"; }; export declare interface AppContainerLayoutGeneric { type: typeof AppContainerLayoutTypeEnum.Generic; } export declare type AppContainerLayoutType = Static<typeof TbAppContainerLayoutTypeSchema>; export declare const AppContainerLayoutTypeEnum: { readonly Generic: "generic"; readonly CaptureScreen: "capture-screen"; }; export declare interface AppDisplayMode { fullscreen: boolean; standalone: boolean; minimalUI: boolean; browser: boolean; windowControlsOverlay: boolean; } declare const appleOs: readonly ["macos", "ios", "ipad"]; declare type AppleOsNames = (typeof appleOs)[number]; export declare const areAllActiveConsentsGiven$: () => Observable<boolean>; export declare const areWorkflowSetupParametersValid$: () => Observable<boolean>; export declare const areWorkflowSetupParametersValid: (params?: unknown) => boolean; export declare const asyncAnimationFrame: (callback: AsyncCallback) => Promise<void>; declare type AsyncCallback = () => void; declare class AsyncController<T, HasInitial extends boolean = false> implements ReactiveController { #private; constructor(host: ReactiveControllerHost, source$: Observable<T>); constructor(host: ReactiveControllerHost, source$: Observable<T>, value: T); hostConnected(): void; hostDisconnected(): void; get value(): HasInitial extends true ? T : T | undefined; } export declare const authFailed: ErrorCase; export declare type AutocaptureConditionCallback = (params: AutocaptureStore) => boolean; export declare type AutocaptureDocClassifierData = Static<typeof TbAutocaptureDocClassifierDataSchema>; export declare interface AutocaptureDocClassifierExtendedData extends AutocaptureDocClassifierData { impliedDocumentSide?: PhysicalDocumentSideClassifier | undefined; } export declare interface AutocaptureDocCornerData { topLeft: AutocaptureDocXY; topRight: AutocaptureDocXY; bottomLeft: AutocaptureDocXY; bottomRight: AutocaptureDocXY; } export declare interface AutocaptureDocPose extends AutocaptureDocClassifierData { timestamp: number; cornerData: AutocaptureDocCornerData; middlePoint: AutocaptureDocXY; width: number; height: number; aspectRatio: number; shift: number; } export declare interface AutocaptureDocXY { x: number; y: number; } export declare interface AutocaptureFallbackToManualCaptureOnUserStrugglingParams { smoothedFeedback$: Observable<AutocaptureFeedback | undefined>; uniqueMessageCount?: number; debounceTimeMs?: number; } export declare interface AutocaptureFeedback { cornersVisible: boolean; closeEnough: boolean; farEnough: boolean; middlePointAligned: boolean; } export declare interface AutocaptureGetPoseFeedbackParameters { pose$: Observable<AutocaptureDocPose | undefined>; docFinder$: Observable<AutocaptureStateDocFinderPosition>; videoResolution$: Observable<Resolution>; } export declare type AutocaptureState = Static<typeof TbAutocaptureStateSchema>; export declare const autocaptureStateChangeEvent: EventDispatcher< { step: string; autocaptureState: string; autocaptureFallbackReason?: string; }>; export declare interface AutocaptureStateDocFinderPosition { type: typeof AutocaptureStateTypeEnum.DocFinder; edgeMarginRatio: number; minFillRatio: number; maxFillRatio: number; cx: number; cy: number; radius: number; } export declare const AutocaptureStateEnum: { readonly NOT_LOADED: "not-loaded"; readonly LOADING: "loading"; readonly ACTIVE: "active"; readonly MANUAL_CAPTURE_FALLBACK: "manual-capture-fallback"; }; export declare type AutocaptureStateType = Static<typeof TbAutocaptureStateTypeSchema>; export declare const AutocaptureStateTypeEnum: { readonly DocFinder: "doc-finder"; }; export declare interface AutocaptureStore { activationTime?: number; docFinder: AutocaptureStateDocFinderPosition; fallbackReason?: ManualCaptureFallbackReason; feedback: AutocaptureFeedback | undefined; fps?: number; smoothedFeedback: AutocaptureFeedback | undefined; state: AutocaptureState; docClassifierCurrent?: AutocaptureDocClassifierData | undefined; } declare interface AutocaptureTrackerBackdrop { visible?: boolean; color?: string; } declare interface AutocaptureTrackerBorderConfig { widthRatio?: number; color?: string; radiusRatio?: number; } export declare interface AutocaptureTrackerConfig { message?: IdCaptureMessage; activeBorder?: AutocaptureTrackerBorderConfig; inactiveBorder?: AutocaptureTrackerBorderConfig; placeholder?: AutocaptureTrackerPlaceholder; backdrop?: AutocaptureTrackerBackdrop; capturing?: boolean; idCardAspectRatio?: number; isDebugging?: boolean; } declare interface AutocaptureTrackerPlaceholder { visible?: boolean; side?: IdSide; alpha?: number; fillFactor?: number; debounceTimeMs?: number; } export declare interface AutocaptureWorkerProcessedMessageCallback { messageNotifier$: Subject<DaOutputEvent>; errorNotifier$: Subject<unknown>; docPoseNotifier$: Subject<AutocaptureDocPose | undefined>; initializedSuccessfully?: () => void; } export declare class BackdropComponent extends BaseComponent { #private; static styles: CSSResult[]; clickToClose: boolean; hidden: boolean; dialogRole?: 'alertdialog' | 'dialog'; ariaLabelledBy: string; connectedCallback(): void; disconnectedCallback(): void; firstUpdated(changedProperties: PropertyValues<this>): void; render(): TemplateResult<1>; } export declare interface BackupEntry { backupGuid: string; workflowState: WorkflowState; navigationStep: NavigationStep; } export declare interface BackupEntryDescriptor extends BackupEntry { descriptor: string; } export declare const backupRestoreState: (storesToIgnore?: string[]) => `${string}-${string}-${string}-${string}-${string}`; export declare abstract class BaseComponent extends LitElement { static styles: CSSResult[]; colorScheme: ColorScheme; } declare interface BaseEvent<T> extends EventLike<T>, TimestampLike { } export declare const blockingNetworkError: ErrorCase; declare type Builtin = Date | Error | Function | Primitive | RegExp; export declare class ButtonClickEvent extends CustomEvent<Event> { constructor(detail: Event); } export declare type ButtonClickEventHandler = (e: ButtonClickEvent) => void; export declare class ButtonComponent extends BaseComponent { static styles: CSSResult[]; fluid: boolean; type: ButtonType; size: ButtonSize; shape: ButtonShape; padding: boolean; disabled: boolean; label: string; render(): TemplateResult<1>; handleClickEvent(event: Event): void; } export declare type ButtonShape = Static<typeof TbButtonShapeSchema>; export declare const ButtonShapeEnum: { readonly Default: "default"; readonly Round: "round"; }; export declare type ButtonSize = Static<typeof TbButtonSizeSchema>; export declare const ButtonSizeEnum: { readonly Small: "small"; readonly Medium: "medium"; readonly Large: "large"; readonly ExtraLarge: "extra-large"; }; export declare type ButtonType = Static<typeof TbButtonTypeSchema>; export declare const ButtonTypeEnum: { readonly Primary: "primary"; readonly Secondary: "secondary"; readonly Tertiary: "tertiary"; readonly Quiet: "quiet"; readonly QuietIcon: "quiet-icon"; readonly Destructive: "destructive"; }; export declare const cameraCapture: EventDispatcher< { cameraState: { resolution: Resolution; activeTrackState: ActiveTrackState | undefined; cameraFacingMode: CameraFacingMode; isPlaying: boolean; isBusy: boolean; }; deviceListState: DeviceStore & { deviceEntities: Record<string, JMediaDeviceInfo>; deviceIds: string[]; } & { mockDeviceEntities: Record<string, JMediaDeviceInfo>; mockDeviceIds: string[]; }; permissionState: PermissionStore; cameraSelectorDeviceList: { devices: JMediaDeviceInfo[]; currentDevice: JMediaDeviceInfo | undefined; isBusy: boolean; }; } & { idSharpness?: unknown; idAutocapture?: boolean; idAutocaptureState?: unknown; idAutocaptureFallbackReason?: string; timeSpentInStepMs?: number; cls?: CameraLivenessStatus; clsm?: CameraLivenessStatus; docClassifier?: unknown; classifier?: Classifier; }>; export declare type CameraCaptureIdAutocaptureStateLogEvent = 'auto-capture' | 'manual-capture-fallback' | 'manual-capture'; export declare interface CameraCapturingEngine { getImageData: GetImageDataCallback; getBlob: GetBlobCallback; } export declare interface CameraCapturingEngineGetBlobParams { imageType?: ToBlobSupportedImageType; quality?: number; sinceTimestamp?: number; } export declare interface CameraCapturingEngineGetBlobResult { timestamp: number; blob: Blob; width: number; height: number; } export declare interface CameraCapturingEngineGetBlobResultWithClassifier extends CameraCapturingEngineGetBlobResult { classifier: Classifier; usabilityExpected: boolean; } export declare interface CameraCapturingEngineGetImageDataParams { sinceTimestamp?: number; } export declare interface CameraCapturingEngineGetImageDataResult { timestamp: number; imageData: ImageData; } export declare class CameraComponent extends BaseComponent implements CameraRenderingEngine, CameraCapturingEngine { #private; static styles: CSSResult[]; applyConstraintCallback?: ConstraintsApply; videoConstraints: GetMediaTrackConstraintSet; backdropRenderingEngineCollection: CameraRenderingEngine[]; videoBackdropRenderingEngineCollection: CameraRenderingEngine[]; videoEngineRenderingCollection: CameraRenderingEngine[]; videoOverlayRenderingEngineCollection: CameraRenderingEngine[]; overlayRenderingEngineCollection: CameraRenderingEngine[]; semanticRenderingEngineCollection: CameraRenderingEngine[]; readonly videoRef: Ref_2<HTMLVideoElement>; readonly canvasRendererRef: Ref_2<CameraRendererComponent>; readonly controller: CameraComponentController; originalResolution: Resolution | undefined; constructor(); connectedCallback(): void; firstUpdated(changedProperties: PropertyValues<this>): void; disconnectedCallback(): void; render(): TemplateResult<1>; switchStream: (e: SwitchCameraCommand | SwitchStreamCommand) => Promise<VideoSource | undefined>; onVideoTick: VideoTickCallback; onYuvProcessorAvailable: GetYuvProcessorCallback; getImageData: GetImageDataCallback; getBlob: GetBlobCallback; captureImage: GetBlobCallback; getVideoElement: () => HTMLVideoElement; hasFlash(): boolean; setFlashState(isEnabled: boolean): Promise<void>; } export declare class CameraComponentController implements ReactiveController { #private; constructor(host: CameraComponent); hostConnected(): void; restartStream(params: SwitchStreamCommand): Promise<VideoSource | undefined>; stopStream({ videoSource, resetBusyState }: Pick<StopStreamParams, 'resetBusyState' | 'videoSource'>): void; onVideoTick: VideoTickCallback; onYuvProcessorAvailable: GetYuvProcessorCallback; getCanvasProcessorCollection(): CameraRenderingEngine[]; } export declare class CameraError extends DOMException { constructor(message?: string); } export declare const CameraErrorName = "CameraError"; export declare type CameraFacingMode = Static<typeof TbCameraFacingModeSchema>; export declare const CameraFacingModeEnum: { readonly Front: "front"; readonly Back: "back"; readonly NotAvailable: "not-available"; }; export declare const cameraFilterFn$: BehaviorSubject<CameraFilterFn | undefined>; export declare type CameraFilterFn = (device: JMediaDeviceInfo | MediaDeviceInfo) => boolean | undefined; export declare class CameraIconComponent extends BaseComponent { static styles: CSSResult[]; selected: boolean; enabled: boolean; label: string; info: string; render(): TemplateResult<1>; } export declare const cameraInitializing: EventDispatcher<EventMetadata>; export declare class CameraInternalLayoutComponent extends BaseComponent { static styles: CSSResult[]; readonly containerElRef: Ref_2<HTMLDivElement>; readonly refresh$: Subject<void>; readonly size$: Observable<VideoSizeInfo>; readonly sizeController: AsyncController<VideoSizeInfo, false>; firstUpdated(changedProperties: PropertyValues<this>): void; render(): TemplateResult<1>; } export declare class CameraLifecycleComponent extends LitElement { #private; static styles: CSSResult[]; set videoElement(value: HTMLVideoElement | undefined); get videoElement(): HTMLVideoElement | undefined; connectedCallback(): void; disconnectedCallback(): void; updatePlayingStatusVideo$: () => Observable<Partial<CameraStoreState>>; render(): TemplateResult<1>; } declare type CameraLivenessStatus = CameraLivenessStatusWithDuplicates | CameraLivenessStatusWithoutDuplicates; declare interface CameraLivenessStatusBase<T extends boolean = false> { t: number; l?: string; y: T; } declare interface CameraLivenessStatusWithDuplicates extends CameraLivenessStatusBase<true> { p: number; q: number; } declare type CameraLivenessStatusWithoutDuplicates = CameraLivenessStatusBase; export declare class CameraLoggerComponent extends BaseComponent { #private; static styles: CSSResult[]; debounceTime: number; connectedCallback(): void; disconnectedCallback(): void; render(): TemplateResult<1>; } export declare const cameraMediaStreamTrack$: BehaviorSubject<MediaStreamTrack | undefined>; export declare const cameraMediaStreamTrackProcessor$: BehaviorSubject<MediaStreamTrackProcessor<VideoFrame> | undefined>; export declare const cameraPlaying: EventDispatcher< { cameraState: { resolution: Resolution; activeTrackState: ActiveTrackState | undefined; cameraFacingMode: CameraFacingMode; isPlaying: boolean; isBusy: boolean; }; deviceListState: DeviceStore & { deviceEntities: Record<string, JMediaDeviceInfo>; deviceIds: string[]; } & { mockDeviceEntities: Record<string, JMediaDeviceInfo>; mockDeviceIds: string[]; }; permissionState: PermissionStore; cameraSelectorDeviceList: { devices: JMediaDeviceInfo[]; currentDevice: JMediaDeviceInfo | undefined; isBusy: boolean; }; }>; export declare interface CameraPlayParams<T extends MediaStreamConstraints = MediaStreamConstraints> { constraints: T; applyConstraints?: ConstraintsApply; timeoutMs?: number; } export declare class CameraRendererComponent extends LitElement implements CameraRenderingEngine, CameraCapturingEngine { #private; static styles: CSSResult[]; originalResolution: Resolution | undefined; targetResolution: Resolution | undefined; flipped: boolean; fitMode: CanvasFitMode; allowWebp: boolean; render(): TemplateResult<1>; onVideoTick: VideoTickCallback; getImageData: GetImageDataCallback; getBlob: GetBlobCallback; } export declare interface CameraRenderingEngine { onVideoTick?: VideoTickCallback; onYuvProcessorAvailable?: GetYuvProcessorCallback; } export declare class CameraSelectorComponent extends BaseComponent { #private; orientation: CameraSelectorOrientation; set cameraFilterFn(value: CameraFilterFn | undefined); get cameraFilterFn(): CameraFilterFn | undefined; disconnectedCallback(): void; update(changedProperties: PropertyValues<this>): void; render(): TemplateResult<1>; } export declare type CameraSelectorOrientation = Static<typeof TbCameraSelectorOrientationSchema>; export declare const CameraSelectorOrientationEnum: { readonly Vertical: "vertical"; readonly Horizontal: "horizontal"; }; export declare const cameraStateChanged: EventDispatcher< { cameraState: { resolution: Resolution; activeTrackState: ActiveTrackState | undefined; cameraFacingMode: CameraFacingMode; isPlaying: boolean; isBusy: boolean; }; deviceListState: DeviceStore & { deviceEntities: Record<string, JMediaDeviceInfo>; deviceIds: string[]; } & { mockDeviceEntities: Record<string, JMediaDeviceInfo>; mockDeviceIds: string[]; }; permissionState: PermissionStore; cameraSelectorDeviceList: { devices: JMediaDeviceInfo[]; currentDevice: JMediaDeviceInfo | undefined; isBusy: boolean; }; }>; export declare const cameraStoreReset: () => void; export declare interface CameraStoreState { resolution: Resolution; activeTrackState: ActiveTrackState | undefined; cameraFacingMode: CameraFacingMode; isPlaying: boolean; isBusy: boolean; } export declare class CameraVideoTickerComponent extends LitElement { #private; static styles: CSSResult[]; set videoElement(value: HTMLVideoElement | undefined); get videoElement(): HTMLVideoElement | undefined; set videoTickCallback(value: VideoTickCallback | undefined); get videoTickCallback(): VideoTickCallback | undefined; connectedCallback(): void; disconnectedCallback(): void; render(): TemplateResult<1>; } export declare const cancelTypeUser: ErrorCase; export declare type CanvasFitMode = Static<typeof TbCanvasFitModeSchema>; export declare const CanvasFitModeEnum: { readonly Contain: "contain"; readonly Cover: "cover"; }; export declare class CaptureButtonComponent extends BaseComponent { static styles: CSSResult[]; config: CaptureButtonConfig; protected activeConfig: { disabled: boolean; inactive: boolean; ariaLabel: string; pulsing: boolean; }; willUpdate(changedProperties: PropertyValues<this>): void; update(changedProperties: PropertyValues<this>): void; render(): TemplateResult<1>; handleClickEvent(event: Event): void; } export declare interface CaptureButtonConfig { disabled?: boolean; inactive?: boolean; ariaLabel?: string; pulsing?: boolean; } export declare type CaptureLabelAriaLive = 'assertive' | 'off' | 'polite'; export declare class CaptureLabelComponent extends BaseComponent { static styles: CSSResult[]; config: CaptureLabelConfig; protected activeConfig: DeepRequired<CaptureLabelConfig>; willUpdate(changedProperties: PropertyValues<this>): void; render(): TemplateResult<1>; } export declare interface CaptureLabelConfig { background?: string; progress?: CaptureLabelProgressConfig; ariaLive?: CaptureLabelAriaLive; ariaAtomic?: boolean; ariaRole?: string; size?: CaptureLabelSize; } export declare interface CaptureLabelProgressConfig { progressColor1?: string; progressColor2?: string; value?: number; } export declare type CaptureLabelSize = Static<typeof TbCaptureLabelSizeSchema>; export declare const CaptureLabelSizeEnum: { readonly Medium: "medium"; readonly Large: "large"; }; export declare class CaptureMessageContainerComponent extends BaseComponent { #private; static styles: CSSResult[]; feedbackItems?: HTMLElement[]; middleItems?: HTMLElement[]; render(): TemplateResult<1>; } declare interface CaptureRequest { dateNow: number; performanceNow: number; autocapture: boolean; autocaptureFps?: number; docClassifier?: AutocaptureDocClassifierData; classifier: Classifier; } export declare class CardClickEvent extends CustomEvent<Event> { constructor(detail: Event); } export declare class CardComponent extends BaseComponent { #private; static styles: CSSResult[]; type: CardType; header: string; subheader: string; tag: string; size: CardSize; disabled: boolean; iconElements: HTMLElement[]; render(): TemplateResult_2<1> | symbol; } export declare class CardGroupComponent extends BaseComponent { static styles: CSSResult[]; label: string; firstUpdated(): void; render(): TemplateResult<1>; } export declare class CardLightComponent extends BaseComponent { static styles: CSSResult[]; render(): TemplateResult<1>; } export declare class CardListComponent extends BaseComponent { static styles: CSSResult[]; headerElements: HTMLElement[]; footerElements: HTMLElement[]; render(): TemplateResult<1>; } export declare type CardSize = Static<typeof TbCardSizeSchema>; export declare const CardSizeEnum: { readonly Small: "small"; readonly Medium: "medium"; readonly Large: "large"; }; export declare type CardType = Static<typeof TbCardTypeSchema>; export declare const CardTypeEnum: { readonly Primary: "primary"; readonly Secondary: "secondary"; readonly Tertiary: "tertiary"; }; export declare class CarrouselComponent extends BaseComponent { #private; static styles: CSSResult[]; innerWrapperEl: HTMLElement | null; outerWrapperEl: HTMLElement | null; images: HTMLImageElement[]; offset: number; tileWidth: number; tileHeight: number; getOffsetTranslateX(): string; isNavigationForwardEnabled(): boolean; isNavigationBackwardEnabled(): boolean; connectedCallback(): void; firstUpdated(): void; disconnectedCallback(): void; isScrollingAvailable(): boolean; navigateTo(offset: number): void; render(): TemplateResult<1>; } export declare class CarrouselNavigationEvent extends CustomEvent<number> { constructor(detail: number); } export declare const catchEidasError: EventDispatcher< { name?: string; message?: string; stack?: string; }>; export declare const catchEIDASErrorEvent: EventCreator<"trace", "catch eIDAS error", { name?: string; message?: string; stack?: string; }>; export declare enum Category { Id = "ID", Facemap = "FACEMAP", Document = "DOCUMENT", Data = "DATA" } export declare const ccrLoadingFailed: ErrorCase; export declare const certificateError: ErrorCase; export declare const changeLanguage: EventDispatcher<EventMetadata>; export declare interface CheckUsabilityParams { resultKey: string; } export declare interface CheckUsabilityParamsWithId { id: UUID; usability: CheckUsabilityParams; } export declare class CircularProgressIndicatorComponent extends BaseComponent { static styles: CSSResult[]; config: CircularProgressIndicatorConfig; activeConfig: { size: number; fillRadius: number; fillWidth: number; fillColor: string; trackRadius: number; trackWidth: number; trackColor: string; underlayRadius: number; underlayColor: string; progress: number; }; willUpdate(changedProperties: PropertyValues<this>): void; render(): TemplateResult<1>; } export declare interface CircularProgressIndicatorConfig { size?: number; fillRadius?: number; fillWidth?: number; fillColor?: string; trackRadius?: number; trackWidth?: number; trackColor?: string; underlayRadius?: number; underlayColor?: string; progress?: number; } export declare type Classifier = Static<typeof TbClassifierSchema>; export declare const ClassifierEnum: { readonly CnhPdf: "CNH_PDF"; readonly Document: "DOCUMENT"; readonly Face: "FACE"; readonly Data: "DATA"; readonly IdFrontWithFlash: "FRONT_WITH_FLASH"; readonly JumioLivenessBlob: "JUMIO_LIVENESS_BLOB"; readonly FrontSide: "FRONTSIDE"; readonly BackSide: "BACKSIDE"; }; export declare const classifierFilter: (classifier: Classifier) => FindFileMetadataByParamsCallback; declare interface ClassifierWithUploadState { credentialId: UUID; classifier: Classifier; acceptedFileTypes: string; file: FileStoreEntity; multipartFileOverrides?: Partial<MultipartFile>; isEnabled: boolean; isRequired: boolean; } export declare const clickedContinueUploadButton: EventDispatcher< { documentType?: string; pageCount?: number; }>; export declare const clickedCrossDeviceButton: EventDispatcher<EventMetadata>; export declare const clickedRetryButton: EventDispatcher<EventMetadata>; export declare const clickedSendEmailButton: EventDispatcher<EventMetadata>; export declare const clickedStartButton: EventDispatcher<EventMetadata>; export declare const clickedUseAnotherIdButton: EventDispatcher<EventMetadata>; export declare const clsAppendItem: (item: CameraLivenessStatus) => void; export declare const clsr: () => void; export declare type ColorScheme = Static<typeof TbColorSchemeSchema>; export declare class ColorSchemeComponent extends LitElement { #private; static styles: CSSResult[]; colorSchemeService: ColorSchemeService; colorScheme: ColorScheme; colorSchemeConfigs: ColorSchemeConfig[]; constructor(); connectedCallback(): void; disconnectedCallback(): void; getBrowserColorScheme(): ColorScheme; render(): TemplateResult<1>; applyColorScheme(): void; } export declare interface ColorSchemeConfig { colorScheme: ColorScheme; } export declare class ColorSchemeConfigComponent extends LitElement implements ColorSchemeConfig { colorScheme: ColorScheme; } export declare const colorSchemeContext: { __context__: "light" | "dark" | "auto"; }; export declare const ColorSchemeEnum: { readonly Light: "light"; readonly Dark: "dark"; readonly Auto: "auto"; }; export declare class ColorSchemeService { #private; readonly colorScheme$: Observable<ColorScheme>; constructor(); setUserColorScheme(value: ColorScheme): void; setBrowserColorScheme(value: ColorScheme): void; getColorScheme(): ColorScheme; } export declare const colorSchemeServiceContext: { __context__: ColorSchemeService; }; declare interface ComponentControllerProvider<TComponentController> { readonly componentController: TComponentController; } declare enum ConfigName { IdFinderLiveness = "id_finder_liveness", PremiumWeb = "premium_web", StandardWeb = "standard_web" } export declare type ConfigurationAutocaptureSettings = Static<typeof TbConfigurationAutocaptureSettingsSchema>; export declare type ConfigurationDatadog = Static<typeof TbConfigurationDatadogSchema>; export declare type ConfigurationFileUpload = Static<typeof TbConfigurationFileUploadSchema>; export declare type ConfigurationHelpScreen = Static<typeof TbConfigurationHelpScreenSchema>; export declare type ConfigurationIdSharpness = Static<typeof TbConfigurationIdSharpnessSchema>; export declare type Configurations = Static<typeof TbConfigurationsSchema>; export declare type ConfigurationsLike = Static<typeof TbConfigurationsLikeSchema>; export declare type ConfigurationSupplementalImage = Static<typeof TbConfigurationSupplementalImageSchema>; export declare type ConfigurationSupplementalImageSequence = Static<typeof TbConfigurationSupplementalImageSequenceSchema>; export declare type ConfigurationSupplementalImagesV2 = Static<typeof TbConfigurationSupplementalImagesV2Schema>; export declare type ConfigurationSupplementalImageWithFlash = Static<typeof TbConfigurationSupplementalImageWithFlashSchema>; export declare class ConsentChangeEvent extends CustomEvent<ConsentData> { constructor(detail: ConsentData); } export declare interface ConsentData { consentGiven: boolean; timestamp: number; id: string; } export declare type ConsentDisplayType = Static<typeof TbConsentDisplayTypeSchema>; export declare const ConsentDisplayTypeEnum: { readonly Passive: "PASSIVE"; readonly Active: "ACTIVE"; }; export declare type ConsentItem = Static<typeof TbConsentItemSchema>; export declare type ConsentItemCollection = Static<typeof TbConsentItemCollectionSchema>; export declare class ConsentPolicyComponent extends BaseComponent { #private; static styles: CSSResult[]; locale: Locale; consentDto: ConsentItem[]; consentGiven: boolean; render(): TemplateResult<1>; } export declare class ConsentSubmissionError extends FetchError { } export declare const consentSubmissionError: ErrorCase; export declare type ConstraintsApply = (params: ConstraintsParams) => Promise<MediaTrackSettings>; export declare interface ConstraintsParams { stream: MediaStream; track: MediaStreamTrack; } declare type ControllerProvider<TWorkflowStepController, TComponentController> = ComponentControllerProvider<TComponentController> & WorkflowStepControllerProvider<TWorkflowStepController>; declare interface Country { code: CountryCode; label: string; } export declare type CountryCode = Static<typeof TbCountryCodeSchema>; export declare const CountryCodeEnum: { readonly ABW: "ABW"; readonly AFG: "AFG"; readonly AGO: "AGO"; readonly AIA: "AIA"; readonly ALA: "ALA"; readonly ALB: "ALB"; readonly AND: "AND"; readonly ARE: "ARE"; readonly ARG: "ARG"; readonly ARM: "ARM"; readonly ASM: "ASM"; readonly ATA: "ATA"; readonly ATF: "ATF"; readonly ATG: "ATG"; readonly AUS: "AUS"; readonly AUT: "AUT"; readonly AZE: "AZE"; readonly BDI: "BDI"; readonly BEL: "BEL"; readonly BEN: "BEN"; readonly BES: "BES"; readonly BFA: "BFA"; readonly BGD: "BGD"; readonly BGR: "BGR"; readonly BHR: "BHR"; readonly BHS: "BHS"; readonly BIH: "BIH"; readonly BLM: "BLM"; readonly BLR: "BLR"; readonly BLZ: "BLZ"; readonly BMU: "BMU"; readonly BOL: "BOL"; readonly BRA: "BRA"; readonly BRB: "BRB"; readonly BRN: "BRN"; readonly BTN: "BTN"; readonly BVT: "BVT"; readonly BWA: "BWA"; readonly CAF: "CAF"; readonly CAN: "CAN"; readonly CCK: "CCK"; readonly CHE: "CHE"; readonly CHL: "CHL"; readonly CHN: "CHN"; readonly CIV: "CIV"; readonly CMR: "CMR"; readonly COD: "COD"; readonly COG: "COG"; readonly COK: "COK"; readonly COL: "COL"; readonly COM: "COM"; readonly CPV: "CPV"; readonly CRI: "CRI"; readonly CUB: "CUB"; readonly CUW: "CUW"; readonly CXR: "CXR"; readonly CYM: "CYM"; readonly CYP: "CYP"; readonly CZE: "CZE"; readonly DEU: "DEU"; readonly DJI: "DJI"; readonly DMA: "DMA"; readonly DNK: "DNK"; readonly DOM: "DOM"; readonly DZA: "DZA"; readonly ECU: "ECU"; readonly EGY: "EGY"; readonly ERI: "ERI"; readonly ESH: "ESH"; readonly ESP: "ESP"; readonly EST: "EST"; readonly ETH: "ETH"; readonly FIN: "FIN"; readonly FJI: "FJI"; readonly FLK: "FLK"; readonly FRA: "FRA"; readonly FRO: "FRO"; readonly FSM: "FSM"; readonly GAB: "GAB"; readonly GBR: "GBR"; readonly GEO: "GEO"; readonly GGY: "GGY"; readonly GHA: "GHA"; readonly GIB: "GIB"; readonly GIN: "GIN"; readonly GLP: "GLP"; readonly GMB: "GMB"; readonly GNB: "GNB"; readonly GNQ: "GNQ"; readonly GRC: "GRC"; readonly GRD: "GRD"; readonly GRL: "GRL"; readonly GTM: "GTM"; readonly GUF: "GUF"; readonly GUM: "GUM"; readonly GUY: "GUY"; readonly HKG: "HKG"; readonly HMD: "HMD"; readonly HND: "HND"; readonly HRV: "HRV"; readonly HTI: "HTI"; readonly HUN: "HUN"; readonly IDN: "IDN"; readonly IMN: "IMN"; readonly IND: "IND"; readonly IOT: "IOT"; readonly IRL: "IRL"; readonly IRN: "IRN"; readonly IRQ: "IRQ"; readonly ISL: "ISL"; readonly ISR: "ISR"; readonly ITA: "ITA"; readonly JAM: "JAM"; readonly JEY: "JEY"; readonly JOR: "JOR"; readonly JPN: "JPN"; readonly KAZ: "KAZ"; readonly KEN: "KEN"; readonly KGZ: "KGZ"; readonly KHM: "KHM"; readonly KIR: "KIR"; readonly KNA: "KNA"; readonly KOR: "KOR"; readonly KWT: "KWT"; readonly LAO: "LAO"; readonly LBN: "LBN"; readonly LBR: "LBR"; readonly LBY: "LBY"; readonly LCA: "LCA"; readonly LIE: "LIE"; readonly LKA: "LKA"; readonly LSO: "LSO"; readonly LTU: "LTU"; readonly LUX: "LUX"; readonly LVA: "LVA"; readonly MAC: "MAC"; readonly MAF: "MAF"; readonly MAR: "MAR"; readonly MCO: "MCO"; readonly MDA: "MDA"; readonly MDG: "MDG"; readonly MDV: "MDV"; readonly MEX: "MEX"; readonly MHL: "MHL"; readonly MKD: "MKD"; readonly MLI: "MLI"; readonly MLT: "MLT"; readonly MMR: "MMR"; readonly MNE: "MNE"; readonly MNG: "MNG"; readonly MNP: "MNP"; readonly MOZ: "MOZ"; readonly MRT: "MRT"; readonly MSR: "MSR"; readonly MTQ: "MTQ"; readonly MUS: "MUS"; readonly MWI: "MWI"; readonly MYS: "MYS"; readonly MYT: "MYT"; readonly NAM: "NAM"; readonly NCL: "NCL"; readonly NER: "NER"; readonly NFK: "NFK"; readonly NGA: "NGA"; readonly NIC: "NIC"; readonly NIU: "NIU"; readonly NLD: "NLD"; readonly NOR: "NOR"; readonly NPL: "NPL"; readonly NRU: "NRU"; readonly NZL: "NZL"; readonly OMN: "OMN"; readonly PAK: "PAK"; readonly PAN: "PAN"; readonly PCN: "PCN"; readonly PER: "PER"; readonly PHL: "PHL"; readonly PLW: "PLW"; readonly PNG: "PNG"; readonly POL: "POL"; readonly PRI: "PRI"; readonly PRK: "PRK"; readonly PRT: "PRT"; readonly PRY: "PRY"; readonly PSE: "PSE"; readonly PYF: "PYF"; readonly QAT: "QAT"; readonly REU: "REU"; readonly ROU: "ROU"; readonly RUS: "RUS"; readonly RWA: "RWA"; readonly SAU: "SAU"; readonly SDN: "SDN"; readonly SEN: "SEN"; readonly SGP: "SGP"; readonly SGS: "SGS"; readonly SHN: "SHN"; readonly SJM: "SJM"; readonly SLB: "SLB"; readonly SLE: "SLE"; readonly SLV: "SLV"; readonly SMR: "SMR"; readonly SOM: "SOM"; readonly SPM: "SPM"; readonly SRB: "SRB"; readonly SSD: "SSD"; readonly STP: "STP"; readonly SUR: "SUR"; readonly SVK: "SVK"; readonly SVN: "SVN"; readonly SWE: "SWE"; readonly SWZ: "SWZ"; readonly SXM: "SXM"; readonly SYC: "SYC"; readonly SYR: "SYR"; readonly TCA: "TCA"; rea