import { DrawingEntity } from "../../../domain/entities/DrawingEntity"; import { D3SvgElementSelection } from "../types"; import { Vec2 } from "../../../domain/entities"; export interface IBaseRenderer { show(theme: any): void; remove(): void; } export declare abstract class BaseRenderer implements IBaseRenderer { drawingEntity: DrawingEntity; protected rootElement?: D3SvgElementSelection; bodyElement?: D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection; protected hoverElement?: D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection; protected hoverAreaElement?: D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection; protected hoverCircleAreaElement?: D3SvgElementSelection; protected canvasWrapper: D3SvgElementSelection; protected canvas: D3SvgElementSelection; protected constructor(drawingEntity: DrawingEntity); protected get editorSettings(): { microModeScale: number; macroModeScale: number; }; get rootBBox(): DOMRect | undefined; get rootBoundingClientRect(): DOMRect | undefined; get width(): number; get height(): number; get x(): number; get y(): number; get selectionPoints(): Vec2[] | undefined; abstract show(theme: any, force?: boolean): void; abstract drawSelection(): void; abstract moveSelection(): void; protected abstract appendHover(hoverArea: any): D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection | D3SvgElementSelection | void; protected abstract removeHover(): void; protected abstract appendHoverAreaElement(): void; remove(): void; redrawHover(): void; setVisibility(isVisible: boolean): void; move(): void; }