import { EmbodiedControlOptions } from "../embodied-control/EmbodiedControlTypes.js"; import { EmbodiedControl } from "../embodied-control/EmbodiedControl.js"; import "../embodied-control/index.js"; import * as THREE from "three"; import { Constructor, Core, Options, Script } from "xrblocks"; //#region src/addons/testing/TestRunner.d.ts export interface TestRunnerConfig { /** Scripts to load into the test scene. */ scripts?: Script[]; /** Core configuration option overrides. */ options?: Options; /** Options passed to the underlying EmbodiedControl addon. */ embodiedOptions?: EmbodiedControlOptions; } /** Owns the single terminal Core lifetime in its test process or browser page. */ export declare class TestRunner { readonly core: Core; readonly embodiedControl: EmbodiedControl; readonly scene: THREE.Scene; readonly camera: THREE.Camera; readonly actions: EmbodiedControl; private caughtErrors; private errorListenerAttached; private destroyPromise?; private readonly handleScriptException; private constructor(); static create(config?: TestRunnerConfig): Promise; /** * Retrieves a loaded script instance from the dependency injection registry. */ getScript(klass: Constructor): T; /** Disposes the Core lifetime owned by this runner. */ destroy(): Promise; private finishDestroy; private removeErrorListener; private checkErrors; } //#endregion