import { AppObject, AppObjectEntity, AppObjectRepo, EaseFn, Quaternion, Vector3 } from "@vived/core";
export declare abstract class StickableEntity extends AppObjectEntity {
    static readonly type = "StickableEntity";
    abstract get canBeStuck(): boolean;
    abstract get stickPosition(): Vector3;
    abstract set stickPosition(val: Vector3);
    abstract get stickRotation(): Quaternion;
    abstract set stickRotation(val: Quaternion);
    abstract get stickScale(): number;
    abstract set stickScale(val: number);
    abstract get showStickTarget(): boolean;
    abstract set showStickTarget(showStickTarget: boolean);
    abstract get highlightTarget(): boolean;
    abstract set highlightTarget(highlightTarget: boolean);
    abstract stickDurationMS: number;
    abstract easeFn: EaseFn;
    abstract doStick(onCompleteCallback?: () => void): void;
    static get(id: string, appObjects: AppObjectRepo): StickableEntity | undefined;
}
export declare function makeStickableEntity(appObject: AppObject): StickableEntity;
//# sourceMappingURL=Stickable.d.ts.map