import { Pixi } from '../../alias/Pixi'; import { EventBus } from '../../utils/EventBus'; import { Entity } from '../entity/Entity'; import { Point2D } from '../entity/Point2D.entity'; import { Repository } from '../entity/Repository'; import { Shape } from '../entity/Shape'; export declare type Motion = { acc: Point2D; speed: Point2D; maxSpeed: number; }; export declare type MotionContainer = Entity & { shape: Shape; motion: Motion; movedSprite: Pixi.Container; }; export declare function isMotionContainer(props: MotionContainer | {}): props is MotionContainer; export declare class MotionHandler { motions: Repository; constructor(removeEventBus: EventBus); new(motionContainer: MotionContainer): MotionContainer; remove(motion: MotionContainer): void; tick(): void; }