import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base"; import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum"; import { IWorkerMessage, IRectType, BaseNodeMapItem } from "../types"; import type { IMainMessage } from "../types"; import { Point2d } from "../utils/primitives/Point2d"; import type { LocalWorkForFullWorker } from "../worker/fullWorkerLocal"; import type { SubLocalMainThreadImpl } from "../mainThread/subLocalThread"; export interface PencilEraserOptions extends BaseShapeOptions { thickness: number; } export declare class PencilEraserShape extends BaseShapeTool { readonly canRotate: boolean; readonly scaleType: EScaleType; readonly toolsType: EToolsKey; private static readonly eraserSizes; protected tmpPoints: Array; protected workOptions: PencilEraserOptions; worldPosition: [number, number]; worldScaling: [number, number]; eraserRect: IRectType | undefined; eraserPolyline?: [number, number, number, number]; constructor(props: BaseShapeToolProps); /** 批量合并消费本地数据,返回绘制结果 */ combineConsume(props: { workerEngine?: LocalWorkForFullWorker | SubLocalMainThreadImpl; }): IMainMessage | undefined; consumeService(): undefined; private updateTempPoints; private getChangeNodes; consume(props: { data: IWorkerMessage; isFullWork: boolean; isSubWorker?: boolean; isMainThread?: boolean; drawCount?: number; removeDrawCount?: number; }): { workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; type: EPostMessageType; }; private computEraserPointLines; consumeAll(props: { workerEngine?: LocalWorkForFullWorker | SubLocalMainThreadImpl; }): { workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; type: EPostMessageType; } | { rect: IRectType | undefined; workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; type: EPostMessageType; } | { type: EPostMessageType; dataType: EDataType; rect: IRectType | undefined; ops: string; willNewNodes: Map; willDeleteNodes: Set; workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; }; clearTmpPoints(): void; }