import { Pixi } from '../../alias/Pixi'; import { Entity } from '../entity/Entity'; import { Motion } from './MotionHandler'; import { Shape } from '../entity/Shape'; import { Repository } from '../entity/Repository'; import { GameEngineConfig } from '../entity/GameEngineConfig'; import { EventBus } from '../../utils/EventBus'; export declare type Physic = { massif?: boolean; onCollision?: (sprite1: PhysicContainer, sprite2: PhysicContainer) => void; graphicDebug?: Pixi.Graphics; disabled?: boolean; }; export declare type PhysicContainer = Entity & { physic: Physic; shape: Shape; motion?: Motion; }; export declare function isPhysicContainer(props: PhysicContainer | {}): props is PhysicContainer; export declare class PhysicHandler { physics: Repository; config: GameEngineConfig; worldGroup: Pixi.Container; constructor(config: GameEngineConfig, removeEventBus: EventBus); new(physicContainer: PhysicContainer): void; remove(physicContainer: PhysicContainer): void; tick(): void; }