import { IObject3D } from '../../../core'; import { UiObjectConfig } from 'uiconfig.js'; import { ComponentCtx, ComponentDefn, ComponentJSON } from './componentTypes'; import { ViewerEventMap } from '../../../viewer/ThreeViewer'; export type TObject3DComponent = typeof Object3DComponent; export declare class Object3DComponent { ['constructor']: TObject3DComponent & ComponentDefn; static StateProperties: ComponentDefn['StateProperties']; static ComponentType: string; readonly isObject3DComponent = true; protected _object: IObject3D | null; get object(): IObject3D; set object(_: IObject3D); uuid: string; uiConfig?: UiObjectConfig; state: never; protected _state: ComponentJSON['state']; get stateRef(): Record; setState(state: ComponentJSON['state']): this | undefined; ctx: ComponentCtx; constructor(); start(): void; stop(): void; update(_e: ViewerEventMap['preFrame']): boolean | void; preFrame(_e: ViewerEventMap['preFrame']): boolean | void; init(object: IObject3D, state: ComponentJSON['state']): void; destroy(): Record; stateChangeHandlers: Record void)[]>; onStateChange(key: K, fn: (value: this[K], oldValue: this[K], key?: K) => void): void; /** * @internal */ ['_sType']?: string; getComponent(type: T | string, self?: boolean): InstanceType | null; } //# sourceMappingURL=../../../src/plugins/extras/components/Object3DComponent.d.ts.map