import { AppObject, AppObjectUC } from "@vived/core";
import { ParametricLine, Vector2 } from "@vived/core";
import { SceneRayPickUC } from "../../Babylon";
import { PanTransformUC } from "./PanTransformUC";
export declare abstract class TryPanTransformUC extends AppObjectUC {
    static readonly type = "TryPanTransformUC";
    abstract allow(): boolean;
    abstract tryWithRay(ray: ParametricLine): boolean;
    abstract moveWithRay(ray: ParametricLine): void;
    abstract tryWithPixel(pixel: Vector2): boolean;
    abstract moveWithPixel(pixel: Vector2): void;
    abstract stop(): void;
    abstract cancel(): void;
}
export declare function makeTryPanTransformUC(appObject: AppObject): TryPanTransformUC;
export declare class TryPanTransformUCImp extends TryPanTransformUC {
    protected panUC?: PanTransformUC;
    protected get pixelToRay(): ((pixelPos: Vector2) => ParametricLine) | undefined;
    protected get rayPickUC(): SceneRayPickUC | undefined;
    allow: () => boolean;
    tryWithPixel: (pixel: Vector2) => boolean;
    moveWithPixel: (pixel: Vector2) => void;
    tryWithRay: (pickRay: ParametricLine) => boolean;
    moveWithRay: (pickRay: ParametricLine) => void;
    stop: () => void;
    cancel: () => void;
    constructor(appObject: AppObject);
}
//# sourceMappingURL=TryPanTransformUC.d.ts.map