import type { IAnnotator, IAnnotatorEventMap, IAnnotatorOption, IFilter, IInteraction, IRenderer, IShape, IShapeParser, IShapeTransformer, IViewport, ShapeType, TransformMatrix } from '../abstraction'; import { EventTarget } from '../dom'; import { AnnotatorMode } from '../abstraction'; export declare class Annotator extends EventTarget implements IAnnotator { private _root?; private _renderer; private _interaction; private _shapeParser; private _shapeTransformer; private _mode; readonly option: IAnnotatorOption; constructor(renderer: IRenderer, interaction: IInteraction, shapeParser: IShapeParser, shapeTransformer: IShapeTransformer, option: IAnnotatorOption, mode?: AnnotatorMode); get renderer(): IRenderer; get interaction(): IInteraction; get shapes(): IShape[]; get selectedShapes(): Array; get viewport(): IViewport; get viewportTransform(): TransformMatrix; get transformedViewport(): IViewport; mount(root: HTMLDivElement): void; changeMode(mode: AnnotatorMode): void; findShapes(filter?: IFilter): Array; showShapeLabel(show?: boolean, sources?: ShapeType[] | undefined): void; changeShapeAlpha(alpha: number, sources?: ShapeType[] | undefined): void; changeShapeVisible(visible: boolean, filter?: IFilter): void; showSmallShape(show: boolean): void; enableSmallShape(enable: boolean): void; selectShape(shape: IShape): void; cancelSelectShape(filter?: IFilter | undefined): void; annotate(image: string): Promise; annotateSync(image: HTMLImageElement): void; drawShape(shapes: IShape | IShape[]): void; removeShape(filter?: IFilter): void; getModel(): T[]; getShapeModel(shape: IShape): T; drawModel(data: T[]): void; getAnnotateImage(): HTMLImageElement | undefined; render(): void; zoomIn(zoom: number): void; zoomOut(zoom: number): void; refresh(): void; clear(): void; dispose(): void; private getDrawerType; private listenRenderer; private unlistenRenderer; }