import { Action, AnchorComputerRegistry, CommandExecutionContext, CommandReturn, MouseListener, Point, GModelElement, GModelRoot } from '@eclipse-glsp/sprotty';
import { FeedbackCommand } from '../../../base/feedback/feedback-command';
export interface DrawMarqueeAction extends Action {
    kind: typeof DrawMarqueeAction.KIND;
    startPoint: Point;
    endPoint: Point;
}
export declare namespace DrawMarqueeAction {
    const KIND = "drawMarquee";
    function is(object: any): object is DrawMarqueeAction;
    function create(options: {
        startPoint: Point;
        endPoint: Point;
    }): DrawMarqueeAction;
}
export declare class DrawMarqueeCommand extends FeedbackCommand {
    protected action: DrawMarqueeAction;
    static readonly KIND = "drawMarquee";
    constructor(action: DrawMarqueeAction);
    execute(context: CommandExecutionContext): CommandReturn;
}
export interface RemoveMarqueeAction extends Action {
    kind: typeof RemoveMarqueeAction.KIND;
}
export declare namespace RemoveMarqueeAction {
    const KIND = "removeMarquee";
    function is(object: any): object is RemoveMarqueeAction;
    function create(): RemoveMarqueeAction;
}
export declare class RemoveMarqueeCommand extends FeedbackCommand {
    static readonly KIND = "removeMarquee";
    execute(context: CommandExecutionContext): CommandReturn;
}
export declare class MarqueeEndMovingMouseListener extends MouseListener {
    protected anchorRegistry: AnchorComputerRegistry;
    constructor(anchorRegistry: AnchorComputerRegistry);
    mouseMove(target: GModelElement, event: MouseEvent): Action[];
}
export declare function marqueeId(root: GModelRoot): string;
export declare const MARQUEE = "marquee";
export declare function drawMarquee(context: CommandExecutionContext, startPoint: Point, endPoint: Point): void;
export declare function removeMarquee(root: GModelRoot): void;
//# sourceMappingURL=marquee-tool-feedback.d.ts.map