import { AppObject, AppObjectRepo, AppObjectUC, ParametricLine, Vector2 } from "@vived/core";
export declare abstract class TryAddCalloutUC extends AppObjectUC {
    static readonly type = "TryAddCalloutUC";
    abstract allow(): boolean;
    abstract initializeWithPixel(pixel: Vector2): boolean;
    abstract moveWithPixel(pixel: Vector2): void;
    abstract initializeWithRay(ray: ParametricLine): boolean;
    abstract moveWithRay(ray: ParametricLine): void;
    abstract stop(): void;
    abstract cancel(): void;
    static get(appObjects: AppObjectRepo): TryAddCalloutUC | undefined;
}
export declare function makeTryAddCalloutUC(appObject: AppObject): TryAddCalloutUC;
//# sourceMappingURL=TryAddCallout.d.ts.map