import type { Constructor } from 'type-fest'; import { type IViewer } from '../../index.js'; import EventEmitter from '../EventEmitter.js'; export declare class Extension extends EventEmitter { get inject(): Array>; protected viewer: IViewer; protected _enabled: boolean; get enabled(): boolean; set enabled(value: boolean); constructor(viewer: IViewer, ...args: Extension[]); onEarlyUpdate(deltaTime?: number): void; onLateUpdate(deltaTime?: number): void; onRender(): void; onResize(): void; }