import { BaseConsumeResultType, BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base"; import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum"; import { IWorkerMessage, IMainMessage, IRectType, IUpdateNodeOpt, IServiceWorkItem } from "../types"; import { Point2d } from "../utils/primitives/Point2d"; import type { VNodeManager } from "../vNodeManager"; import { TextOptions } from "../../component/textEditor/types"; import { LocalWorkForFullWorker } from "../worker/fullWorkerLocal"; import { ShapeOptType } from "../../displayer/types"; import type { SubLocalMainThreadImpl } from "../mainThread/subLocalThread"; import { EStrokeType } from "../../plugin"; export interface SelectorOptions extends BaseShapeOptions { } export declare class SelectorShape extends BaseShapeTool { readonly toolsType: EToolsKey; static selectorBorderId: string; protected tmpPoints: Array; protected subTmpPoints: Array; protected workOptions: BaseShapeOptions; vNodes: VNodeManager; selectIds?: string[]; selectorColor?: string; strokeColor?: string; fillColor?: string; oldSelectRect?: IRectType; oldSubSelectRect?: IRectType; canRotate: boolean; canTextEdit: boolean; canLock: boolean; scaleType: EScaleType; toolsTypes?: EToolsKey[]; shapeOpt?: ShapeOptType; textOpt?: TextOptions; isLocked?: boolean; thickness?: number; strokeType?: EStrokeType; useStroke?: boolean; constructor(props: BaseShapeToolProps); private computSelector; private updateTempPoints; private drawSelector; private draw; private getSelecteorInfo; getChildrenPoints(): [number, number][] | undefined; consume(props: { data: IWorkerMessage; isSubWorker?: boolean; isSimpleWorker?: boolean; }): BaseConsumeResultType | { type: EPostMessageType; rect: undefined; } | { workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; rect: IRectType | undefined; type: EPostMessageType; dataType: EDataType; }; consumeAll(): { workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; type: EPostMessageType; dataType: EDataType; rect: IRectType | undefined; selectIds: string[] | undefined; selectorColor: string | undefined; selectRect: IRectType | undefined; strokeColor: string | undefined; fillColor: string | undefined; textOpt: TextOptions | undefined; canTextEdit: boolean; canRotate: boolean; canLock: boolean; scaleType: EScaleType; willSyncService: boolean; points: [number, number][] | undefined; isLocked: boolean | undefined; toolsTypes: EToolsKey[] | undefined; shapeOpt: ShapeOptType | undefined; thickness: number | undefined; useStroke: boolean | undefined; strokeType: EStrokeType | undefined; } | { type: EPostMessageType; }; consumeService(): undefined; private updateTempPointsForSubWorker; private computDrawPoints; private drawForSubWorker; private transformData; subWorkerConsume(props: { data: IWorkerMessage; isFullWork?: boolean; }): { type: EPostMessageType; rect: undefined; } | { workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; rect: IRectType | undefined; type: EPostMessageType; dataType: EDataType; }; subWorkerConsumeAll(props: { data: IWorkerMessage; isFullWork?: boolean; }): { workId: string; toolsType: EToolsKey; opt: import("./utils").ShapeOptions; rect: IRectType | undefined; type: EPostMessageType; dataType: EDataType; }; clearSubTmpPoints(): void; clearTmpPoints(): void; clearSubSelectData(): void; clearSelectData(): void; private selectSingleTool; private unSelectedAllIds; private unSelectedByIds; private selectedByIds; private getSelectorRect; isCanFillColor(toolsType?: EToolsKey): boolean; updateSelector(param: { updateSelectorOpt: IUpdateNodeOpt; vNodes: VNodeManager; selectIds?: string[]; willSerializeData?: boolean; worker?: LocalWorkForFullWorker | SubLocalMainThreadImpl; offset?: [number, number]; }): Promise; blurSelector(): { type: EPostMessageType; dataType: EDataType; rect: IRectType | undefined; selectIds: never[]; willSyncService: boolean; }; getRightServiceId(serviceWorkId: string): string; selectServiceNode(workId: string, workItem: Pick, isService: boolean): IRectType | undefined; reRenderSelector(): IRectType | undefined; updateSelectIds(nextSelectIds: string[]): { bgRect: IRectType | undefined; selectRect: IRectType | undefined; }; cursorHover(point: [number, number]): { type: EPostMessageType; dataType: EDataType; rect: IRectType | undefined; selectorColor: string | undefined; willSyncService: boolean; } | undefined; cursorBlur(): void; }