import { World } from "@chantey/ecs"; export declare const gameModule: { systems: { render: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { settings: { engineOptions: import("@babylonjs/core").EngineOptions; sceneOptions: import("@babylonjs/core").SceneOptions; antialias: boolean; debugCamera: boolean; manualUpdate: boolean; }; initScene: (canvas?: HTMLCanvasElement) => World; update: () => void; stop: () => void; handleResize: () => void; setSize: (width: number, height: number) => void; }>; }; clock: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { start: () => void; update: () => void; }>; }; gizmo: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { update: () => void; addLines: (lines: import("@babylonjs/core").Vector3[], colors?: import("@babylonjs/core").Color4[]) => void; addRotation: (rotation: import("@babylonjs/core").Quaternion, center?: import("@babylonjs/core").Vector3) => void; markDirty: () => boolean; }>; }; entityLifecycle: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { update: () => void; stop: () => void; }>; }; }; components: { canvas: import("@chantey/ecs").ComponentDefinition; video: import("@chantey/ecs").ComponentDefinition; engine: import("@chantey/ecs").ComponentDefinition; scene: import("@chantey/ecs").ComponentDefinition; camera: import("@chantey/ecs").ComponentDefinition; position: import("@chantey/ecs").ComponentDefinition; rotation: import("@chantey/ecs").ComponentDefinition; transform: import("@chantey/ecs").ComponentDefinition; transformArray: import("@chantey/ecs").ComponentDefinition; material: import("@chantey/ecs").ComponentDefinition; clock: import("@chantey/ecs").ComponentDefinition<{ start: number; elapsed: number; last: number; delta: number; now: number; end: number; remaining: number; frame: number; }>; viewport: import("@chantey/ecs").ComponentDefinition; dispose: import("@chantey/ecs").ComponentDefinition<{ timestamp: number; }>; notDispose: import("@chantey/ecs").ComponentDefinition<{ timestamp: number; }>; }; queries: { dispose: import("@chantey/ecs").QueryDefinition<{ dispose: { timestamp: number; }; }>; }; } & { systems: { target: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { update: () => void; }>; }; positionTarget: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { autoRespawn: boolean; createTarget: (targetRadius?: number, spawnRadius?: number) => number; update: () => void; }>; }; rotationTarget: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { update: () => void; createTarget: (range?: number) => number; }>; }; score: { key: symbol; priority: number | import("@chantey/ecs").AnySystemDefinition; init: import("@chantey/ecs").InitSystem, { start: () => void; update: () => void; }>; }; }; components: { score: import("@chantey/ecs").ComponentDefinition<{ value: number; }>; target: import("@chantey/ecs").ComponentDefinition; targetInteractor: import("@chantey/ecs").ComponentDefinition; rotationTarget: import("@chantey/ecs").ComponentDefinition<{ theta: number; range: number; }>; positionTarget: import("@chantey/ecs").ComponentDefinition<{ radius: number; radiusSquared: number; }>; }; queries: { target: import("@chantey/ecs").QueryDefinition<{ TargetComp: boolean; transform: import("@babylonjs/core").TransformNode; material: import("@babylonjs/core").StandardMaterial; }>; rotationTarget: import("@chantey/ecs").QueryDefinition<{ TargetComp: boolean; rotationTarget: { theta: number; range: number; }; transform: import("@babylonjs/core").TransformNode; material: import("@babylonjs/core").StandardMaterial; }>; positionTarget: import("@chantey/ecs").QueryDefinition<{ TargetComp: boolean; positionTarget: { radius: number; radiusSquared: number; }; transform: import("@babylonjs/core").TransformNode; material: import("@babylonjs/core").StandardMaterial; }>; targetInteractor: import("@chantey/ecs").QueryDefinition<{ interactor: boolean; position: import("@babylonjs/core").Vector3; }>; }; }; export declare type GameWorld = World;