import { SceneEvent, ViewEntity } from '@turbox3d/event-manager';
import { SceneTool } from '@turbox3d/command-manager';
import { Mesh2D } from '@turbox3d/renderer-pixi';
interface IGizmo2dProps {
    x?: number;
    y?: number;
    width: number;
    height: number;
    rotation?: number;
    central?: boolean;
    zIndex?: number;
    color?: number;
    deleteIcon?: string;
    deleteIconSize?: number;
    copyIcon?: string;
    copyIconSize?: number;
    adjustIcon?: string;
    adjustIconSize?: number;
    showStretchRect?: ('x-left' | 'x-right' | 'y-top' | 'y-bottom')[];
    stretchRectSize?: number;
    stretchHandler?: (actionKey: 'x-left' | 'x-right' | 'y-top' | 'y-bottom', op: 'start' | 'move' | 'end', viewEntity: Partial<ViewEntity>, event: SceneEvent<any>, tools: SceneTool) => void;
    deleteHandler?: () => void;
    copyHandler?: () => void;
    adjustHandler?: (op: 'start' | 'move' | 'end', viewEntity: Partial<ViewEntity>, event: SceneEvent<any>, tools: SceneTool) => void;
}
export default class Gizmo2d extends Mesh2D<IGizmo2dProps> {
    deleteHandler: () => void;
    copyHandler: () => void;
    dragHandler: (op: 'start' | 'move' | 'end') => (viewEntity: Partial<ViewEntity>, event: SceneEvent<any>, tools: SceneTool) => void;
    stretchHandler: (actionKey: 'x-left' | 'x-right' | 'y-top' | 'y-bottom', op: 'start' | 'move' | 'end') => (viewEntity: Partial<ViewEntity>, event: SceneEvent<any>, tools: SceneTool) => void;
    render(): (false | "" | import("@turbox3d/renderer-pixi").ElementSchema<import("../rect2d").IRect2dProps> | import("@turbox3d/renderer-pixi").ElementSchema<import("../image2d").IImage2dProps>)[];
}
export {};
