import { Object3D, WonderlandEngine } from "@wonderlandengine/api"; import { EasyTuneVariable, EasyTuneVariableTyped } from "../easy_tune_variable_types.js"; export declare abstract class EasyObjectTuner> { private _myObject; private _myEasyTuneVariable; private _myUseTuneTarget; private _mySetAsWidgetCurrentVariable; private _myInitialEasyTuneVariableName; private _myPrevObject; private _myManualVariableUpdate; private _myActive; private _mySetupDone; protected readonly _myEngine: Readonly; constructor(object: Object3D, variableName: string, setAsWidgetCurrentVariable: boolean, useTuneTarget: boolean, engine?: Readonly); getEasyTuneVariable(): EasyTuneVariable | null; start(): void; setActive(active: boolean): void; isActive(): boolean; update(dt: number): void; protected canUpdate(): boolean; protected abstract _getVariableNamePrefix(): string; protected abstract _createEasyTuneVariable(variableName: string): EasyTuneVariableType; protected abstract _getObjectValue(object: Readonly): Readonly; protected abstract _getDefaultValue(): Readonly; protected abstract _areValueEqual(first: Readonly, second: Readonly): boolean; protected abstract _updateObjectValue(object: Object3D, value: Readonly): void; }