declare module 'essentia.js' {
  const EssentiaWASM: () => Promise<any>;
  class Essentia {
    constructor(wasmModule: any, isDebug?: boolean);
    arrayToVector(arr: Float32Array): any;
    RhythmExtractor2013(signal: any, maxTempo?: number, method?: string, minTempo?: number): { bpm: number; ticks: number[]; confidence: number };
    KeyExtractor(audio: any, averageDetuningCorrection?: boolean, frameSize?: number, hopSize?: number): { key: string; scale: string; strength: number };
    Energy(signal: any): { energy: number };
    Danceability(signal: any, maxTau?: number, minTau?: number, sampleRate?: number): { danceability: number; dfa: number[] };
  }
  export { EssentiaWASM, Essentia };
}
