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