import { BrainReplay, ReplayEvent } from './brain-replay.js'; export type SonifyMode = 'major' | 'minor' | 'phrygian'; export type Timbre = 'sine' | 'saw' | 'triangle' | 'square' | 'bell'; export interface SonifyOptions { durationS?: number; tempo?: number; mode?: SonifyMode; } export interface SonifyManifest { durationMs: number; eventsRendered: number; tempo: number; mode: SonifyMode; sampleRate: number; channels: number; totalSamples: number; } export interface Note { freq: number; dur: number; timbre: Timbre; } export declare class BrainSonification { private replay; constructor(replay?: BrainReplay); /** Generate a WAV buffer from a project's replay events. */ generate(project: string, opts?: SonifyOptions): Promise<{ wav: Buffer; manifest: SonifyManifest; }>; /** Convert a single event to a note (public for tooling). */ eventToNote(event: { type: string; payload?: unknown; ts?: number; agent?: string; project?: string; } | ReplayEvent, mode?: SonifyMode): Note; /** Available voice mappings (public for tooling/UI). */ listVoices(): Array<{ eventType: string; timbre: string; baseFreq: number; }>; private voiceFor; private entityKeyOf; private rootFreqFor; private mixNote; private mixDrone; private normalize; private encodeWav; private renderEmptyWav; private persist; } export declare function getBrainSonification(): BrainSonification; export declare function resetBrainSonificationForTests(): void; //# sourceMappingURL=brain-sonification.d.ts.map