import { DrawableObjectOptions, BaseObjectInterface } from '../../types'; import { Renderer } from '../renderer'; import { Engine } from '../engine'; /** * The Base Object Class */ export declare abstract class BaseObject implements BaseObjectInterface { id: string; options: T & DrawableObjectOptions; context: CanvasRenderingContext2D; renderer: Renderer; children: (T & BaseObject)[]; constructor(options: DrawableObjectOptions, renderer?: Renderer); abstract draw(): K; update: (engine: Engine, deltaTime: number) => void; start: (engine: Engine) => void; checkDrawConditionAndDraw(deltaTime: number): void; }