import type { MeshEvent } from "../mesh/store.js"; import type { FabricProjectMeshRoute } from "./topology.js"; import { type FabricGraphPoint } from "./dashboard-fabric-graph.js"; /** Owns topology navigation geometry, camera physics, and replay timers. */ export declare class DashboardGraphController { private readonly requestRender; private _positions; private _camera; private _cameraTarget; private _velocity; private _cameraInitialized; private _animation; private _animationAt; private _effectsAnimation; private _reducedMotion; private _showHistory; private _replayIndex; private _replayPlaying; private _replaySpeed; private _replayAdvancedAt; private _replayLength; private _replayLabel; constructor(requestRender: () => void); togglePlayback(): void; changeReplaySpeed(direction: number): void; toggleHistory(): void; toggleReducedMotion(): void; directionalTarget(selectedId: string | undefined, direction: "left" | "right" | "up" | "down"): string | undefined; setPositions(positions: Map): void; replayFrame(events: readonly MeshEvent[], routes: readonly FabricProjectMeshRoute[]): { event: MeshEvent; route: FabricProjectMeshRoute; } | undefined; get camera(): Readonly; get cameraInitialized(): boolean; get reducedMotion(): boolean; get showHistory(): boolean; get replayIndex(): number | undefined; get replayPlaying(): boolean; get replaySpeed(): number; get replayLength(): number; get replayLabel(): string | undefined; private replayFrames; startEffectsAnimation(): void; stopEffectsAnimation(): void; toggleReplay(events: readonly MeshEvent[], routes: readonly FabricProjectMeshRoute[]): void; stepReplay(delta: number): void; setCameraTarget(point: FabricGraphPoint): void; stopCameraAnimation(): void; private stepCamera; } //# sourceMappingURL=dashboard-graph-controller.d.ts.map