import { MouseEvent, MutableRefObject, ReactNode } from 'react'; import { ComponentMetadata, ElementSchema, ElementStatus, IElementController } from '../../types'; import RenderContext from '../render-context'; export declare type ElementControllerProps = { canvasContainerRef: MutableRefObject; setterContainerRef: MutableRefObject; componentMetadata: ComponentMetadata; data: ElementSchema; context: RenderContext; }; export default class ElementController implements IElementController { private props; private data; private status; private viewRef; private context; private id; constructor(props: ElementControllerProps); getId: () => string; getContext(): RenderContext; getDom(): HTMLElement; getData(clone?: boolean): ElementSchema; setData(data: ElementSchema): void; getStatus(): ElementStatus; setStatus(status: ElementStatus, options?: { replace: boolean; updateView: boolean; }): void; setLocked(locked: boolean): void; setSelectd(selected: boolean): void; remove(): void; updateView(): void; moveToPrev(): void; moveToNext(): void; moveToFirst(): void; moveToLast(): void; moveTo(index: number): void; getComponentMetadata(): ComponentMetadata; handleCanvasClick(e: MouseEvent): void; private handleBoundsChange; render(): ReactNode; }