import { TryOnProvider, TryOnGenericFineTuningSettings, TryOnProduct, TryOnSeller, TryOnFineTuningSettings } from '../../models'; import { MazingPupillaryDistanceStateReceivedMessageType, MazingTryOnReceivedMessageType } from './tryOnProviders/tryOnMazing'; export declare enum TryOnMode { TryOn = 1, PDTool = 2 } export interface TryOnData { product?: TryOnProduct; customer?: TryOnSeller; provider?: TryOnProvider; mode?: TryOnMode; obj?: Blob | null; settings?: TryOnGenericFineTuningSettings; } export interface TryOnProviderExchangeData { type: TryOnProvidersTypeUnion; value: any; } export type TryOnProvidersTypeUnion = MazingTryOnReceivedMessageType | MazingPupillaryDistanceStateReceivedMessageType; export type ValueOf = T[keyof T]; export declare const TryOnBaseProviderReceivedMessage: { readonly Start: ""; readonly WaitingAuthentication: "WAITING_AUTH"; readonly AuthSuccessful: "AUTH_SUCCESS"; readonly AuthError: "AUTH_ERROR"; readonly WebcamError: "WEBCAM_ERROR"; }; export declare const TryOnBaseProviderResponseMessage: {}; export declare const PupillaryDistanceBaseProviderReceivedMessage: { readonly Start: ""; readonly WaitingAuthentication: "WAITING_AUTH"; readonly AuthSuccessful: "AUTH_SUCCESS"; readonly AuthError: "AUTH_ERROR"; }; export declare const PupillaryDistanceBaseProviderResponseMessage: {}; export interface ZakekeTryOnExposedMethods { closeFrame?: () => void; takeScreenshot?: () => void; startPupillaryDistance?: (time: number) => void; switchToPDTool?: () => void; switchToTryOn?: () => void; mode?: TryOnMode; changeMode?: (mode: TryOnMode) => void; visible?: boolean; setVisible?: (visible: boolean) => void; } export interface TryOnProviderProps { className?: string; obj: Blob; product: TryOnProduct; customer: TryOnSeller; fineTuningSettings?: TryOnFineTuningSettings; onReady?: () => void; onLoaded?: () => void; onClose?: () => void; onPDUpdated?: (pd: number) => void; onWebcamError: () => void; } export interface PupillaryDistanceProviderProps { className?: string; product: TryOnProduct; customer: TryOnSeller; onReady?: () => void; onLoaded?: () => void; onPDUpdated?: (pd: number) => void; onClose?: () => void; onWebcamError: () => void; } export declare function parseJSON(json: string): any;