export type WindowType = 'rectangular' | 'hann' | 'hamming' | 'blackman'

export interface SynthesisParams {
  duration: number
  minFreq: number
  maxFreq: number
  sampleRate: number
  frequencyResolution: number
  timeResolution: number
  amplitudeThreshold: number
  maxPartials: number
  windowType: WindowType
}

export interface SpectralPeak {
  frequency: number
  amplitude: number
  phase: number
}

export interface SynthesisResult {
  audio: Float32Array
  sampleRate: number
  duration: number
}