import type { IComment, IDrawer, INature, IObject, IRelation, IRenderer, IRendererEventMap, IRendererOption, IShape, IViewport, TransformMatrix, ICanvas, ShapeType, IPoint, IFilter, IMouse, IKeyboard } from '../abstraction'; import { EventTarget } from '../dom'; import { DrawerType } from '../abstraction'; export declare abstract class RendererBase extends EventTarget implements IRenderer { protected _root?: HTMLDivElement; protected _mouse: IMouse; protected _keyboard: IKeyboard; protected _option: IRendererOption; protected _viewport: IViewport; protected _currentHoverSources?: Array; protected _currentSelectSources?: Array; protected _drawerMap: Map; protected _baseDrawers: Array; protected _currentDrawer?: IDrawer; constructor(mouse: IMouse, keyboard: IKeyboard, option: IRendererOption, drawerMap?: Map); abstract get canvas(): ICanvas; abstract mount(root: HTMLDivElement): void; get mouse(): IMouse; get keyboard(): IKeyboard; get option(): IRendererOption; get width(): number; get height(): number; get viewportTransform(): TransformMatrix; get viewport(): IViewport; get transformedViewport(): IViewport; get selectedShapes(): Array; get currentHoverSources(): Array | undefined; get currentSelectSources(): Array | undefined; get drawers(): Array; get baseDrawers(): Array>; get selectableDrawers(): Array>; get currentDrawer(): IDrawer | undefined; get shapes(): IShape[]; get objects(): IObject[]; get natures(): INature[]; get relations(): IRelation[]; get comments(): IComment[]; changeViewport(start: IPoint, end: IPoint): void; setCurrentHoverSources(sources?: Array): void; resetCurrentHoverSources(): void; setCurrentSelectSources(sources?: Array): void; resetCurrentSelectSources(): void; getDrawer(type: DrawerType): T | undefined; addDrawer(drawer: IDrawer): void; removeDrawer(type: DrawerType): void; clearDrawers(): void; useBaseDrawer(drawer: IDrawer): void; useBaseDrawerByType(type: DrawerType): void; useDrawer(drawer: IDrawer): void; useDrawerByType(type: DrawerType): void; suspendDrawer(type: DrawerType): void; resumeDrawer(type: DrawerType): void; suspendCurrentDrawer(): void; resumeCurrentDrawer(): void; getShapes(sources?: DrawerType | Array): Array; findShapes(filter?: IFilter): Array; showSmallShape(show: boolean): void; enableSmallShape(enable: boolean): void; getDrawerShapes(type: DrawerType): Array; getSelectShape(shapes: Array): T | undefined; getMinSizeShape(shapes: Array): T | undefined; getMinSizeShapeIntersectWithPoint(x: number, y: number, sources?: DrawerType | Array): T | undefined; getSelectShapeIntersectWithPoint(x: number, y: number): T | undefined; getSelectOrMinSizeShapeIntersectWithPoint(x: number, y: number, sources?: DrawerType | Array): T | undefined; getShapeIntersectWithPoint(x: number, y: number, sources?: DrawerType | Array): Array; drawShape(shapes: IShape | Array): void; drawImage(image: string): Promise; drawImageSync(image: HTMLImageElement): void; removeShape(shapes: IShape | IShape[]): void; removeShapeByFilter(filter?: IFilter): void; removeSelectedShapes(): void; showShapeLabel(show: boolean | undefined, sources?: Array): void; changeShapeAlpha(alpha?: number, sources?: ShapeType[] | undefined): void; changeShapeVisible(visible: boolean, filter?: IFilter): void; selectShape(shapes: IShape | Array): void; cancelSelectShape(filter?: IFilter | undefined): void; getAnnotateImage(): HTMLImageElement | undefined; clear(): void; refresh(): void; zoomIn(zoom: number): void; zoomOut(zoom: number): void; render(): void; dispose(): void; private groupShapes; }