import { CommandExecutionContext, CommandResult, ResetCommand, SModelRootImpl } from 'sprotty';
import { RequestAction, ResponseAction, SModelElement } from 'sprotty-protocol';
/**
 * Sent from client to request a certain piece of the diagram.
 */
export interface RequestDiagramPieceAction extends RequestAction<SetDiagramPieceAction> {
    kind: typeof RequestDiagramPieceAction.KIND;
    modelElementId: string;
}
export declare namespace RequestDiagramPieceAction {
    const KIND = "requestDiagramPiece";
    function create(requestId: string, modelElementId: string): RequestDiagramPieceAction;
}
/**
 * Response to {@link RequestDiagramPieceAction}. Contains the requested SModelElement.
 */
export interface SetDiagramPieceAction extends ResponseAction {
    kind: typeof SetDiagramPieceAction.KIND;
    diagramPiece: SModelElement;
}
export declare namespace SetDiagramPieceAction {
    const KIND = "setDiagramPiece";
    function create(responseId: string, diagramPiece: SModelElement): SetDiagramPieceAction;
}
/**
 * Command to trigger re-rendering of diagram when new pieces arrive.
 */
export declare class SetDiagramPieceCommand extends ResetCommand {
    protected action: SetDiagramPieceAction;
    static readonly KIND: string;
    root: SModelRootImpl;
    constructor(action: SetDiagramPieceAction);
    execute(context: CommandExecutionContext): CommandResult;
    undo(_context: CommandExecutionContext): SModelRootImpl;
    redo(_context: CommandExecutionContext): SModelRootImpl;
}
//# sourceMappingURL=actions.d.ts.map