import { FunctionComponent } from "react"; import { TryOnFineTuningMazingSettings, TryOnGenericFineTuningSettings, TryOnProduct, TryOnProvider, TryOnSeller, TryOnType } from "../models"; export declare function parseJSON(json: string): any; export declare enum TryOnMode { Undefined = 0, TryOn = 1, PDTool = 2 } export interface TryOnViewerProps { mode: TryOnMode; onTimeout?: (value: boolean) => void; onPDUpdated?: (pd: number) => void; onClose?: () => void; } export interface VTryOnViewerProps { className?: string; provider: TryOnProvider; type: TryOnType; obj: Blob; settings?: TryOnGenericFineTuningSettings; product: TryOnProduct; customer: TryOnSeller; onReady?: () => void; onClose?: () => void; } export interface TryOnPDToolProps { className?: string; provider: TryOnProvider; product: TryOnProduct; customer: TryOnSeller; onReady?: () => void; onPDUpdated?: (pd: number) => void; onClose?: () => void; } export declare const TryOnViewerComponent: FunctionComponent; export declare const VTryOnViewerComponent: FunctionComponent; export declare const TryOnPDToolComponent: FunctionComponent; export declare enum MazingTryOnState { Start = "", WaitingAuthentication = "WAITING_AUTH", AuthSuccessful = "AUTH_SUCCESS", TryOnLoaded = "MODEL_LOADED", AuthError = "AUTH_ERROR", WebcamError = "WEBCAM_ERROR", ScreenShotTaken = "SCREENSHOT_TAKEN", WebcamStopped = "WEBCAM_STOPPED" } export declare enum MazingTryOnOutMessage { StartAuthenticationTryOn = "AUTH_TRY_ON", LoadTryOn = "LOAD_MODEL", TakeScreenshot = "TAKE_SCREENSHOT", StopWebcam = "STOP_WEBCAM" } export declare enum MazingPDState { Start = "", WaitingAuthentication = "WAITING_AUTH", AuthSuccessful = "AUTH_SUCCESS", PDLoaded = "PD_LOADED", PDUpdated = "NEW_PD", AuthError = "AUTH_ERROR", PDDataNotFoundError = "PD_ERROR", WebcamError = "WEBCAM_ERROR", PDCountdown = "PD_COUNTDOWN", PDCountdownEnd = "PD_COUNTDOWN_END", WebcamStopped = "WEBCAM_STOPPED" } export declare enum MazingPDOutMessage { StartAuthenticationPD = "AUTH_TRY_ON", LoadPD = "LOAD_PD", StartPD = "START_PD", StopWebcam = "STOP_WEBCAM" } export interface MazingTryOnInMessage { type: MazingFrameState; value: any; } export interface MazingFrameProps { className?: string; outMessageHandler: (e: MessageEvent) => void; onReady?: (w: Window) => void; } export interface MazingTryOnProps { className?: string; obj: Blob; product: TryOnProduct; customer: TryOnSeller; fineTuningSettings?: TryOnFineTuningMazingSettings; initialState?: MazingTryOnInMessage; closeFlag: boolean; onReady?: () => void; onReadyToShow?: () => void; onClosed?: () => void; } export interface MazingPDProps { className?: string; product: TryOnProduct; customer: TryOnSeller; initialState?: MazingTryOnInMessage; closeFlag: boolean; onReady?: () => void; onReadyToShow?: () => void; onPDUpdated?: (pd: number) => void; onClosed?: () => void; onClose?: () => void; } export type MazingFrameState = MazingTryOnState | MazingPDState; export declare const MazingFrameComponent: (props: MazingFrameProps) => JSX.Element; export declare const MazingTryOnComponent: FunctionComponent; export declare const MazingPDToolComponent: FunctionComponent;