UNPKG

@vscubing/cubing

Version:

A collection of JavaScript cubing libraries.

44 lines (40 loc) 1.48 kB
import { A as AlgLeaf, K as KPattern } from './PuzzleLoader-B4x8OB3B.js'; interface StreamTransformer { transformAlgLeaf(algLeafEvent: AlgLeafEvent): void; transformOrientation(orientationEvent: OrientationEvent): void; } /******** BluetoothPuzzle ********/ /** @category Smart Puzzles */ interface AlgLeafEvent { latestAlgLeaf: AlgLeaf; timeStamp: number; debug?: Record<string, unknown>; pattern?: KPattern; quaternion?: any; } /** @category Smart Puzzles */ interface OrientationEvent { quaternion: { x: number; y: number; z: number; w: number; }; timeStamp: number; debug?: Record<string, unknown>; } /** @category Smart Puzzles */ declare abstract class BluetoothPuzzle extends EventTarget { transformers: StreamTransformer[]; protected listeners: Array<(e: AlgLeafEvent) => void>; protected orientationListeners: Array<(e: OrientationEvent) => void>; abstract name(): string | undefined; abstract disconnect(): void; getPattern(): Promise<KPattern>; addAlgLeafListener(listener: (e: AlgLeafEvent) => void): void; addOrientationListener(listener: (e: OrientationEvent) => void): void; experimentalAddBasicRotationTransformer(): void; protected dispatchAlgLeaf(algLeaf: AlgLeafEvent): void; protected dispatchOrientation(orientationEvent: OrientationEvent): void; } export { type AlgLeafEvent as A, BluetoothPuzzle as B, type OrientationEvent as O };