import { ARStage, type AssetOption, Configuration, type Context, OptionInteractionType, OptionsType, PlayerType, type QuizOption, type SessionEvent, ShareType, type ThreekitAuthProps, type ValueOption, type VariantConfiguration, type VariantOption, VisualInteractionType } from '@threekit/rest-api'; export type SessionProps = { auth: ThreekitAuthProps; sessionId?: string; userId?: string; customUserId?: string; experienceId?: string; experienceName?: string; experienceVersion?: string; }; type Vector3 = { x: number; y: number; z: number; }; export declare class Session { auth: ThreekitAuthProps; private analytics; private dwellStartTime; private performance; private pageLoadTime; private static get orgId(); private static set orgId(value); private static get userId(); private static set userId(value); private static get customUserId(); private static set customUserId(value); static get sessionId(): string | undefined; static set sessionId(value: string | undefined); private static get stageName(); private static set stageName(value); private static get experienceId(); private static set experienceId(value); private static get experienceName(); private static set experienceName(value); private static get experienceVersion(); private static set experienceVersion(value); static get log(): boolean; static set log(value: boolean); private debounceTimeout; private eventDebounceTimers; private eventsToDebounce; constructor({ auth, sessionId, userId, experienceId, experienceName, experienceVersion, customUserId }: SessionProps); get sessionId(): string | undefined; private tryCatchBlock; private getCommonEventProperties; static logEvent(event: SessionEvent): void; errorLoopProtection: boolean; private sendEvent; errorCount: number; maxErrorCount: number; private reportEvent; error({ error }: { error: Error; }): void; query({ queryName, query }: { queryName: string; query: Record; }): void; change({ assetId, configuration, changeDuration, downloadSize }: { assetId?: string; configuration?: Configuration; changeDuration?: number; downloadSize?: number; }): void; imageUpload({ assetId, configuration, imageUploadId, imageUploadFileId }: { assetId?: string; configuration?: Configuration; imageUploadId: string; imageUploadFileId: string; }): void; personalizeText({ assetId, configuration, personalizeId, personalizedText }: { assetId?: string; configuration?: Configuration; personalizeId: string; personalizedText: string; }): void; parametricValue({ assetId, configuration, parametricId, parametricValue }: { assetId?: string; configuration?: Configuration; parametricId: string; parametricValue: number; }): void; load({ playerType, loadDuration, downloadDuration, parseDuration, prefetch, loadOptions, downloadSize, assetId, configuration, componentId, partialLoad }: { playerType: PlayerType; loadDuration: number; downloadDuration?: number; parseDuration?: number; prefetch?: boolean; loadOptions?: string; downloadSize?: number; partialLoad?: boolean; assetId?: string; configuration?: Configuration; componentId?: string; }): void; optionsShow({ optionsSetId, optionsSetName, options, optionsType, assetId, attributePath, configuration, componentId, context }: { optionsSetId: string; optionsSetName?: string; options: Array; optionsType: OptionsType; assetId?: string; configuration?: Configuration; attributePath?: string; componentId?: string; context?: Context; }): void; optionInteraction({ optionsSetId, optionId, interactionType, assetId, configuration, componentId, context }: { optionsSetId: string; optionId: string; interactionType: OptionInteractionType; assetId?: string; configuration?: Configuration; componentId?: string; context?: Context; }): void; custom({ customName, customParameters, assetId, configuration, componentId }: { customName: string; customParameters?: Record; assetId?: string; configuration?: Configuration; componentId?: string; }): void; stage({ stageName, assetId, configuration }: { stageName: string; assetId?: string; configuration?: Configuration; }): void; visualInteraction({ visualInteractionType, zoomFactor, targetAssetId, targetName, targetRotation, targetPosition, cameraPosition, cameraTarget, assetId, configuration, componentId }: { visualInteractionType: VisualInteractionType; zoomFactor?: number; targetAssetId?: string; targetName?: string; targetRotation?: Vector3; targetPosition?: Vector3; cameraPosition?: Vector3; cameraTarget?: Vector3; assetId?: string; configuration?: Configuration; componentId?: string; }): void; chatPrompt({ promptId, promptText, assetId, configuration, componentId }: { promptId: string; promptText: string; assetId?: string; configuration?: Configuration; componentId?: string; }): void; chatResponse({ promptId, promptResponseText, assetId, configuration, componentId }: { promptId: string; promptResponseText: string; assetId?: string; configuration?: Configuration; componentId?: string; }): void; rephrasePrompt({ promptId, promptText, promptVersion, userPrompt, rephrasedPrompt, componentId }: { promptId: string; promptText: string; promptVersion: number; userPrompt: string; rephrasedPrompt: string; componentId?: string; }): void; confidenceMessage({ promptId, promptText, promptVersion, confidenceMessage, vectorizedString, metadata, componentId }: { promptId: string; promptText: string; promptVersion: number; confidenceMessage: string; vectorizedString: string; metadata: any; componentId?: string; }): void; share({ shareLink, shareType, configurationId, orderId, assetId, configuration, componentId }: { shareLink: string; shareType: ShareType; orderId?: string; configurationId?: string; assetId?: string; configuration?: Configuration; componentId?: string; }): void; addToCart({ configurationId, cartCustomId, assetId, configuration, itemPrice, itemCount, itemName, itemCustomId, orderId, orderCustomId, orderDetails, orderPrice, customerId, customerCustomId, customerDetails, itemId, variantId, variantConfiguration, callToAction }: { configurationId?: string; cartCustomId?: string; assetId?: string; configuration?: Configuration; itemName?: string; itemCustomId?: string; itemPrice?: number; itemCount?: number; orderId?: string; orderCustomId?: string; orderDetails?: any; orderPrice?: number; customerId?: string; customerCustomId?: string; customerDetails?: any; itemId?: string; variantId?: string; variantConfiguration?: VariantConfiguration; callToAction?: boolean; }): void; purchase({ configurationId, orderId, orderCustomId, orderDetails, orderPrice, cart, purchaseCustomId, assetId, configuration, customerId, customerCustomId, customerDetails, callToAction }: { configurationId?: string; orderId?: string; orderCustomId?: string; orderDetails?: any; orderPrice?: number; cart?: Array<{ assetId?: string; configuration?: Configuration; itemName?: string; itemCustomId?: string; itemPrice?: number; itemCount: number; itemId?: string; variantId?: string; variantConfiguration?: VariantConfiguration; }>; purchaseCustomId?: string; assetId?: string; configuration?: Configuration; customerId?: string; customerCustomId?: string; customerDetails?: any; callToAction?: boolean; }): void; quote({ configurationId, orderId, orderCustomId, orderDetails, orderPrice, cart, quoteCustomId, assetId, configuration, customerId, customerCustomId, customerDetails, callToAction }: { configurationId?: string; orderId?: string; orderCustomId?: string; orderDetails?: any; orderPrice?: number; cart?: Array<{ assetId?: string; configuration?: Configuration; itemName?: string; itemCustomId?: string; itemPrice?: number; itemCount: number; itemId?: string; variantId?: string; variantConfiguration?: VariantConfiguration; }>; quoteCustomId?: string; assetId?: string; configuration?: Configuration; customerId?: string; customerCustomId?: string; customerDetails?: any; callToAction?: boolean; }): void; lead({ configurationId, orderId, orderCustomId, orderDetails, orderPrice, leadCustomId, assetId, configuration, customerId, customerCustomId, customerDetails, itemId, variantId, variantConfiguration, callToAction }: { configurationId?: string; orderId?: string; orderCustomId?: string; orderDetails?: any; orderPrice?: number; leadCustomId?: string; assetId?: string; configuration?: Configuration; customerId?: string; customerCustomId?: string; customerDetails?: any; itemId?: string; variantId?: string; variantConfiguration?: VariantConfiguration; callToAction?: boolean; }): void; ar({ arStage, arHandoffId, assetId, configuration, componentId }: { arStage: ARStage; arHandoffId?: string; assetId?: string; configuration?: Configuration; componentId?: string; }): void; } export declare const getSession: ({ auth, sessionId, userId, customUserId, experienceId, experienceName, experienceVersion }: SessionProps) => Session; export {};