import { Dispatch, MutableRefObject, SetStateAction } from "react"; import { CameraPermissionModalConfig, ErrorModalT } from "../types/Modals/ErrorModal"; import React from "react"; import { ModelPrediction } from "./types/Model"; import { WebToMobileHandOffConfig } from "../components/ErrorModal/components/WebToMobile/WebToMobile"; import { HelpModalConfig } from "../components/ErrorModal/components/HelpModal/HelpModal"; import { RequestPermissionModalConfig } from "../components/RequestingPermissionModal/RequestingPermissionModal"; import { NoCameraModalConfig } from "../types/Modals/NoCameraModal"; import { CardScanApi } from "@cardscan.ai/cardscan-client"; import { LogLevel, CardScanError } from "../types/types"; import { InternalOptions } from "../types/scanview.types"; import AdaptiveThreshold from "../utils/AdaptiveThreshold"; export type GlobalContent = { logging: LogLevel; modelState: any; scanDebugState: any; adaptiveThreshold: React.MutableRefObject; scanFreqency: any; setScanFreqency: any; bufferSize: any; setBufferSize: any; bufferRef: any; debugCanvasBestRef: any; bestScore: any; bestClass: ModelPrediction | null; lastClass: string; bestLaplacian: any; debugCanvasLatestRef: any; latestScore: any; latestLaplacian: any; debugMenu: boolean; videoMetadata: any; showCurtain: boolean; onCloseBtn: any; closeButton: any; isMobile: boolean; isMobileOnLandscape: boolean; stateMachineState: any; fullScreen: boolean; stateMachineSend: any; stateMachineService: any; handleRetryButton: () => void; cardScanApi: MutableRefObject | null>; showErrorModal: ErrorModalT; cameraPermissionModalConfig?: CameraPermissionModalConfig; webToMobileHandoffConfig?: WebToMobileHandOffConfig; setShowErrorModal: Dispatch>; videoRef: React.RefObject; setVideoMetadata: Dispatch>; onError?: (error: CardScanError) => void; setScanDebugState: React.Dispatch>; backsideSupport: boolean; helpModalConfig?: HelpModalConfig; requestPermissionModalConfig?: RequestPermissionModalConfig; noCameraModalConfig?: NoCameraModalConfig; webviewVersion?: string | null; mobileSdkVersion?: string | null; webToMobileTimer: number | null; setWebToMobileTimer: Dispatch>; changeAriaLiveMessage: (message: string) => void; scannerMainContainerRef: React.RefObject; modalRef: React.RefObject; live: boolean; internalOptions: InternalOptions; metricsDumpRef: MutableRefObject; scanningGuideMessage: string; guideColor: "notDetected" | "detected"; }; export declare const MyGlobalContext: React.Context; export declare const useGlobalContext: () => GlobalContent;