import { ExposedApi } from '../../../../src/configurator/embedding/exposed-api'; import { PossibleCustomViewsAndMain } from '../../../../src/configurator/embedding/custom-views'; import { PointRect } from '../../../common/src/utils/drag'; export type EmbeddingPluginMode = 'website' | 'custom-view'; export declare class EmbeddingPlugin { protected _mainDomElement: HTMLIFrameElement | HTMLBodyElement; protected _instance: ExposedApi; protected _mode: EmbeddingPluginMode; protected _viewName: PossibleCustomViewsAndMain; constructor(instance: ExposedApi, iframe: HTMLIFrameElement | HTMLBodyElement, mode: EmbeddingPluginMode, viewName: PossibleCustomViewsAndMain); init(): Promise; } export interface DragInSettings { dragInOverlapX?: number; dragInOverlapY?: number; fingerSize?: number; touchDragDelay?: number; touchDragEpsilon?: number; customDragDelay?: number; customDragEpsilon?: number; } export interface DragGhostOptions { external?: boolean; visibleIn?: PointRect; hiddenIn?: PointRect; url?: string; width?: number; height?: number; element?: HTMLElement; } export interface DragInOptions { settings?: DragInSettings; ghost?: DragGhostOptions; mode?: EmbeddingPluginMode; }