/** * AudioTrait.ts * * Declarative audio attachment for HoloScript+ nodes. * Plays spatial audio from a node's position in 3D space. * * @trait audio */ import { AudioEngine } from './AudioEngine.js'; export interface HSPlusNode { id?: string; properties?: Record; } export interface TraitHandler { name: string; defaultConfig: TConfig; onAttach(node: HSPlusNode, config: TConfig, context: unknown): void; onDetach(node: HSPlusNode, config: TConfig, context: unknown): void; onUpdate(node: HSPlusNode, config: TConfig, context: unknown, delta: number): void; } export interface AudioTraitConfig { soundId: string; volume: number; loop: boolean; spatialize: boolean; maxDistance: number; refDistance: number; rolloffFactor: number; channel: string; autoPlay: boolean; pitch: number; } export declare function setSharedAudioEngine(engine: AudioEngine): void; export declare function getSharedAudioEngine(): AudioEngine; export declare const audioTraitHandler: TraitHandler; //# sourceMappingURL=AudioTrait.d.ts.map