/**
* Чистые примитивы синтеза движка (тулза synth.mjs без типов) для
* рантайм-синтеза: вариативные шаги в systems/StepVariants.ts. WAV-энкодер
* (wav.mjs) нужен только тулзам игры при сборке — здесь его не декларируем.
*/
declare module '@rpg/engine/tools/synth.mjs' {
/** Частота дискретизации (Гц). */
export const RATE: number;
/** Детерминированный ГПСЧ в [0, 1). */
export function makeRng(seed: number): () => number;
/** Синтез: fn(t-сек) на каждый сэмпл, RATE по умолчанию. */
export function synth(seconds: number, fn: (t: number) => number, rate?: number): Float32Array;
/** Огибающая затухания к концу dur. */
export function decay(t: number, dur: number, power?: number): number;
/** Полосный шум (детерминирован сидом): генератор сэмплов в [-1, 1]. */
export function bandNoise(seed: number, lowHz: number, highHz: number, dur: number): () => number;
/** Нормировать по пику. */
export function normalize(samples: Float32Array, peak?: number): Float32Array;
}