import type { Engine } from "@babylonjs/core/Engines/engine.js"; import type { Scene } from "@babylonjs/core/scene.js"; import { type CapabilityAvailability, type RuntimeQualityState, type RuntimeBackendSnapshot, type RuntimeProbeReport } from "@skenora/contracts"; import type { EventPublisher } from "@skenora/events"; import type { RuntimeEventMap } from "../core/runtime-events.js"; export interface RuntimeBackendDiagnosticsOptions { readonly engine: Engine; readonly scene: Scene; readonly events: EventPublisher; readState(): { disposed: boolean; contextLost: boolean; rendering: boolean; }; getQualityState(): RuntimeQualityState | null; getCapabilityAvailability(): readonly CapabilityAvailability[]; } /** Owns diagnostic evidence only. The engine, scene, and events are borrowed. */ export declare class RuntimeBackendDiagnostics { #private; constructor(options: RuntimeBackendDiagnosticsOptions); /** Serializable observation of the active Babylon backend and device caps. */ getBackendSnapshot(): RuntimeBackendSnapshot; /** * Exercises the live backend. A healthy verdict requires both a real scene * render and a one-pixel GPU readback; construction alone is never proof. */ probe(): Promise; } //# sourceMappingURL=backend-diagnostics.d.ts.map