import type { ChannelNumber } from '../../types'; import type { GraphicsStyles, SpectrumScale } from './Visualizer'; import type { SpectrumParams } from './Spectrum'; import { Spectrum } from './Spectrum'; export type AmplitudeSpectrumUnit = 'none' | 'decibel'; export type AmplitudeSpectrumParams = SpectrumParams & { unit?: AmplitudeSpectrumUnit; }; /** * This private class visualizes amplitude spectrum. */ export declare class AmplitudeSpectrum extends Spectrum { private unit; private renderAmplitudeTexts; /** * @param {number} sampleRate This argument is sample rate. * @param {ChannelNumber} channel This argument is channel number (Left: 0, Right: 1 ...). */ constructor(sampleRate: number, channel: ChannelNumber); /** * This method gets or sets parameters for visualizing amplitude spectrum. * This method is overloaded for type interface and type check. * @param {keyof AmplitudeSpectrumParams|AmplitudeSpectrumParams} params This argument is string if getter. Otherwise, setter. * @return {AmplitudeSpectrumParams[keyof AmplitudeSpectrumParams]|PhaseSpectrum} Return value is parameter for visualizing amplitude spectrum if getter. * Otherwise, return value is for method chain. * @override */ param(params: 'interval'): number; param(params: 'styles'): GraphicsStyles; param(params: 'scale'): SpectrumScale; param(params: 'logarithmicFrequencies'): number[]; param(params: 'minFrequency'): number; param(params: 'maxFrequency'): number; param(params: 'textInterval'): number; param(params: 'unit'): AmplitudeSpectrumUnit; param(params: AmplitudeSpectrumParams): AmplitudeSpectrum; /** * This method sets function that render amplitude texts on y coordinate. * @param {function|null} renderer This argument is function that render amplitude texts on y coordinate. * @return {AmplitudeSpectrum} Return value is for method chain. */ setRenderAmplitudeTextsFunction(renderer: ((data: Float32Array) => void) | null): AmplitudeSpectrum; /** * This method visualizes amplitude spectrum to Canvas. * @param {Float32Array} data This argument is frequency domain data amplitude for spectrum. * @param {number} minDecibels This argument is in order to determine dB range of amplitude spectrum. The default value is -100 dB. * @param {number} maxDecibels This argument is in order to determine db range of amplitude spectrum. The default value is -30 dB. * @override */ protected renderCanvas(data: Float32Array, minDecibels?: number, maxDecibels?: number): void; /** * This method visualizes amplitude spectrum to SVG. * @param {Float32Array} data This argument is frequency domain data for amplitude spectrum. * @param {number} minDecibels This argument is in order to determine dB range of amplitude spectrum. Default value is -100 dB. * @param {number} maxDecibels This argument is in order to determine db range of amplitude spectrum. Default value is -30 dB. * @override */ protected renderSVG(data: Float32Array, minDecibels?: number, maxDecibels?: number): void; } //# sourceMappingURL=AmplitudeSpectrum.d.ts.map