export declare enum IDHubAuthService { Tunnistus = "tunnistus", BankId = "bankid", Freja = "freja" } export declare enum IDHubStatus { Pending = "pending", Authenticated = "authenticated", Error = "error" } export declare enum IdHubSubStatus { Started = "started", DeliveredToMobile = "deliveredToMobile", Cancelled = "cancelled", RpCancelled = "rpCancelled", Expired = "expired", Rejected = "rejected", CertificateErr = "certificateErr", StartFailed = "startFailed", UserDeclinedCall = "userDeclinedCall", NotSupportedByUserApp = "notSupportedByUserApp" } export type AuthResponse = { status: IDHubStatus; tunnistusURL?: string; autoStartToken?: string; errorMessage?: string; }; export type CollectResponse = { status: IDHubStatus; subStatus?: IdHubSubStatus; idhubEIDToken?: string; errorMessage?: string; }; export type ChatReadItem = { objectId: number; objectType: string; }; export type EntranceInfo = { result: string; open: boolean; }; export type Info = { objectId: number; objectType: 'info'; infoType: 'queue' | 'startup' | 'established' | 'error' | 'afterChat' | 'finished' | 'noSession' | 'prepareVideo' | 'pendingJoin' | 'placedInQueue' | 'videoPrepared' | 'initiateAuthentication' | 'authenticated' | 'disconnected' | 'reconnected'; text: string; eqt?: number; pos?: number; userUrl?: string; videoEnded?: boolean; agent?: string; contactId?: string; errand?: string; agentUsername?: string; agentAlias?: string; entrance?: string; meetingType?: string; } & ChatReadItem; export type Config = { objectId: number; objectType: 'config'; chatEntryMaxLength: number; entrance: string; invitationNo: number; } & ChatReadItem; export type ChatEntry = { objectId: number; objectType: 'chatEntry'; alias: string; agentAlias?: string; invitationNo: number; message: string; source: string; jsTimestamp?: number; } & ChatReadItem; export type PenStatus = { alias: string; penStatus: 'on' | 'off'; } & ChatReadItem; export type ChatButtonClicked = { guestId: string; } & ChatReadItem; export type EndVideoButtonClicked = { guestId: string; } & ChatReadItem; export declare const isInfoItem: (entry: ChatReadItem) => entry is Info; export declare const isConfigItem: (entry: ChatReadItem) => entry is Config; export declare const isChatEntryItem: (entry: ChatReadItem) => entry is ChatEntry; export declare const isPenStatusItem: (entry: ChatReadItem) => entry is PenStatus; export declare const isChatButtonClickedItem: (entry: ChatReadItem) => entry is ChatButtonClicked; export declare const isEndVideoButtonClicked: (entry: ChatReadItem) => entry is EndVideoButtonClicked; export type EngineAction = { type: string; }; export type QueueStatusAction = { type: 'queue-status'; text: string; } & EngineAction; export type EstablishedAction = { type: 'established'; text: string; agent: string; videoEnded: boolean; contactId: string; errand: string; agentAlias: string; agentUsername: string; entrance: string; } & EngineAction; export type PenStatusAction = { type: 'pen-status'; penStatus: 'on' | 'off'; } & EngineAction; export type PrepareVideoAction = { type: 'prepareVideo'; meetingType?: string; } & EngineAction; export type InitiateAuthenticationAction = { type: 'initiate-authentication'; } & EngineAction; export type VideoPreparedAction = { type: 'videoPrepared'; text: string; agent: string; userUrl: string; } & EngineAction; export type ChatEndedAction = { type: 'chat-ended'; text: string; showForm: boolean; }; export type ConnectionStatusAction = { type: 'connection-status'; status: 'disconnected' | 'reconnected'; } & EngineAction; export type ChatButtonClickedAction = { type: 'chatButtonClicked'; guestId: string; } & EngineAction; export type EndVideoButtonClickedAction = { type: 'endVideoButtonClicked'; guestId: string; } & EngineAction; export type CustomDataEntry = { name: string; displayName: string; required: boolean; entryType: string; placeholderText: string; errorText: string; dropdownOptions?: { label: string; value: any; }[]; [key: string]: any; }; export declare const isQueueStatusAction: (action: EngineAction) => action is QueueStatusAction; export declare const isEstablishedAction: (action: EngineAction) => action is EstablishedAction; export declare const isPenStatusAction: (action: EngineAction) => action is PenStatusAction; export declare const isPrepareVideoAction: (action: EngineAction) => action is PrepareVideoAction; export declare const isInitiateAuthenticationAction: (action: EngineAction) => action is InitiateAuthenticationAction; export declare const isVideoPreparedAction: (action: EngineAction) => action is VideoPreparedAction; export declare const isChatButtonClickedAction: (action: EngineAction) => action is ChatButtonClickedAction; export declare const isEndVideoButtonClickedAction: (action: EngineAction) => action is EndVideoButtonClickedAction; export declare const isChatEndedAction: (action: EngineAction) => action is ChatEndedAction; export declare const isConnectionStatusAction: (action: EngineAction) => action is ConnectionStatusAction; export type EngineErrorType = 'chat-request-error' | 'chat-join-error' | 'chat-engine-error' | 'chat-write-error' | 'chat-email-session-error' | 'chat-unknown-error'; export type AuthOption = 'required' | 'optional' | 'disabled'; export type EngineConfig = { engineUrl: string; instance: string; entrance: string; queueMessageInterval: number; videoChatMode: string; authOption: AuthOption; }; export type { AuthenticationInfo } from '../libs/core/src/index.ts'; export declare enum AuthCardState { Initial = "initial", Authenticating = "authenticating", Error = "error", InitError = "init-error", Cancelled = "cancelled", Loading = "loading", SetupError = "setup-error" } export interface BankIdAuthCardParams { state: AuthCardState; qrCode?: string; autoStartToken?: string; wasQrScanned?: boolean; isMobile?: boolean; [key: string]: string | boolean | undefined; } export type UserName = { name?: string; [key: string]: any; };