import { Operation, MotionResult, EndResult, TouchEndRequest, TouchMotionRequest, TouchStartRequest } from "./Operation";
/**
 * Class for chaining Operations.
 * This Operation will process results of a given operation further, as specified in the processMotionResult / processEndResult methods
 * Extend this class whenever an Operations result depends on results of other Operations
 */
export declare abstract class ProcessFurtherOperation implements Operation {
    private preceedingOperation;
    constructor(operation: Operation);
    executeStart(request: TouchStartRequest): void;
    executeMotion(request: TouchMotionRequest): MotionResult;
    protected abstract processMotionResult(result: MotionResult): MotionResult;
    executeEnd(request: TouchEndRequest): EndResult;
    protected abstract processEndResult(result: EndResult): EndResult;
}
