import { EPostMessageType, IWorkerMessage, IMainMessage, IRectType, EToolsKey, IBatchMainMessage, IUpdateSelectorPropsType, EDataType } from "..";
import { BaseShapeOptions, SelectorShape } from "../tools";
import { ISubWorkerInitOption, LocalWork } from "./base";
import { ServiceWorkForFullWorker } from "./fullWorkerService";
import { BitMapEraserShape } from "../tools/pencilEraserBitMap";
import { WorkThreadEngineForFullWorker } from "./workerManager";
import { PencilEraserShape } from "../tools/pencilEraser";
import { VNodeManager } from "../vNodeManager";
export declare class LocalWorkForFullWorker extends LocalWork {
    readonly vNodes: VNodeManager;
    protected _type: string;
    protected combineTimerId?: number;
    protected combineDrawResolve?: (value: boolean) => void;
    protected combineDrawActiveId?: string;
    protected drawWorkActiveId?: string;
    protected effectSelectNodeData: Set<IWorkerMessage>;
    constructor(opt: ISubWorkerInitOption);
    loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "isSubWorker">): Promise<ImageBitmap | undefined>;
    consumeDraw(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
    consumeDrawAll(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
    workShapesDone(scenePath: string, serviceWork: ServiceWorkForFullWorker): Promise<void>;
    consumeFull(data: IWorkerMessage): Promise<void>;
    protected commandDeleteText(workId: string): {
        type: EPostMessageType;
        toolsType: EToolsKey;
        workId: string;
        dataType: EDataType;
    } | undefined;
    removeSelector(data: IWorkerMessage, workEngine?: WorkThreadEngineForFullWorker): Promise<void>;
    removeWork(data: IWorkerMessage): Promise<void>;
    removeNode(key: string): {
        fullRect: IRectType | undefined;
        drawRect: IRectType | undefined;
    };
    private _removeWork;
    checkTextActive(data: IWorkerMessage): Promise<void>;
    colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
    updateSelector(params: IUpdateSelectorPropsType & {
        callback?: (props: {
            res?: IMainMessage;
            param: IUpdateSelectorPropsType;
            postData: Pick<IBatchMainMessage, "sp" | "render">;
            workShapeNode: SelectorShape;
            newServiceStore: Map<string, {
                opt: BaseShapeOptions;
                toolsType: EToolsKey;
                ops?: string;
            }>;
            smoothSync?: boolean;
            needUndoTicker?: number;
        }) => void;
    }): Promise<IMainMessage | undefined>;
    blurSelector(data?: IWorkerMessage): Promise<void>;
    hasSelector(): boolean;
    getSelector(): SelectorShape;
    reRenderSelector(willSyncService?: boolean): Promise<void>;
    updateFullSelectWork(data: IWorkerMessage): Promise<void>;
    destroy(): void;
    protected drawEraserCombine(workId: string, drawCount: number): Promise<void>;
    protected drawPencilCombine(workId: string, drawCount: number): Promise<void>;
    protected drawSelector(res: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
    protected drawPencilFull(res: IMainMessage, isLockSentEventCursor?: boolean, needUndoTicker?: number): Promise<void>;
    protected drawEraserFull(workShapeNode: BitMapEraserShape | PencilEraserShape, res: IMainMessage, isLockSentEventCursor?: boolean, needUndoTicker?: number): Promise<void>;
    protected drawEraser(result: IMainMessage, isLockSentEventCursor?: boolean, needUndoTicker?: number): Promise<void>;
    protected drawShape(res: IMainMessage): Promise<void>;
    protected drawPencil(res: IMainMessage): Promise<void>;
    protected runEffectSelectWork(willSyncService?: boolean): Promise<void>;
    cursorHover(msg: IWorkerMessage): Promise<void>;
    cursorBlur(): Promise<void>;
}
