export default FeatureRegistry; export type Newable = any; /** * @typedef Newable * @template {Feature} T */ declare class FeatureRegistry extends Broadcast { /** * * @param {Scene} scene */ constructor(scene: Scene); /** * @private * @type {FeatureConstructable} */ private scene; /** * @private * @type {Map} */ private features; /** * @private * @type {Array} */ private featureKeys; /** * @private */ private dirty; get keys(): string[]; /** * @template T * @param {string} key * @param {new T} featureClass * @returns {T} */ register(key: string, featureClass: new () => T): T; /** * @template {Feature} T * @param {string} key * @returns {T|null} */ get(key: string): T_1; /** * * @param {string} key */ destroy(key: string): void; destroyAll(): void; /** * @protected * @param {number} time * @param {number} delta */ protected doUpdate(time: number, delta: number): void; } import Feature from "./Feature"; import { Broadcast } from "@toolcase/base"; import Scene from "./Scene";