import { InteractiveEvent, IRectNode, Point, Rect } from "../../../common";
import { GraphicNode } from "../../../graphics";
import { AppEventContext } from "../../../app";
import { AlignMoveWorker } from "./move/AlignMoveWorker";
import { AlignStretchWorker } from "./stretch/AlignStretchWorker";
import { AlignResultInfo, LinePointAlignResultInfo, StretchAlignType } from "./AlignResult";
import { AlignLineEndWorker } from "./lineEnd/AlignLineEndWorker";
import { IPoint } from "../../../idl";
export declare class AlignWorker {
    alignMoveWorker: AlignMoveWorker;
    alignStretchWorker: AlignStretchWorker;
    alignLineEndWorker: AlignLineEndWorker;
    alignLineEnd(point: IPoint, selectNodeSet: Set<GraphicNode>, ctx: AppEventContext, needAlign: boolean): LinePointAlignResultInfo;
    alignMove(moveRect: IRectNode, selectNodeSet: Set<GraphicNode>, ctx: AppEventContext, needAlign?: boolean): AlignResultInfo;
    alignStretch(ctx: AppEventContext, stretchRect: Rect, selectNodeSet: Set<GraphicNode>, alignType: StretchAlignType, viewBounds: IRectNode, maxOffset: number, buffer: number): import("./AlignResult").AlignStretchResultInfo;
    alignLineEndAndDrawAlignLines(event: InteractiveEvent, ctx: AppEventContext, selectNodeSet?: Set<GraphicNode>, needAlign?: boolean): IPoint;
    drawAlignLines(alignResultInfo: AlignResultInfo, ctx: AppEventContext): Point;
    addChildrenToFilterSet(node: GraphicNode, filterSet: Set<GraphicNode>): void;
}
//# sourceMappingURL=AlignWorker.d.ts.map