import type { ChannelNumber } from '../../types'; import type { VisualizerParams, GraphicsStyles, SpectrumScale } from './Visualizer'; import { Visualizer } from './Visualizer'; export type SpectrumParams = VisualizerParams & { scale?: SpectrumScale; logarithmicFrequencies?: number[]; textInterval?: number; readonly minFrequency?: number; readonly maxFrequency?: number; }; /** * This private class visualizes spectrum. */ export declare abstract class Spectrum extends Visualizer { protected scale: SpectrumScale; protected logarithmicFrequencies: number[]; protected minFrequency: number; protected maxFrequency: number; protected ratio: number; protected log10Ratio: number; protected textInterval: number; /** * @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 spectrum. * This method is overloaded for type interface and type check. * @param {keyof SpectrumParams|SpectrumParams} params This argument is string if getter. Otherwise, setter. * @return {SpectrumParams[keyof SpectrumParams]|Spectrum} Return value is parameter for visualizing 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: SpectrumParams): Spectrum; } //# sourceMappingURL=Spectrum.d.ts.map