import type { ChannelNumber } from '../../types'; import type { GraphicsStyles, SpectrumScale } from './Visualizer'; import type { SpectrumParams } from './Spectrum'; import { Spectrum } from './Spectrum'; export type PhaseSpectrumUnit = 'radian' | 'degree'; export type PhaseSpectrumParams = SpectrumParams & { unit?: PhaseSpectrumUnit; }; /** * This private class visualizes phase spectrum. */ export declare class PhaseSpectrum extends Spectrum { private unit; private renderPhaseTexts; /** * @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 phase spectrum. * This method is overloaded for type interface and type check. * @param {keyof PhaseSpectrumParams|PhaseSpectrumParams} params This argument is string if getter. Otherwise, setter. * @return {PhaseSpectrumParams[keyof PhaseSpectrumParams]|PhaseSpectrum} Return value is parameter for visualizing phase 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'): PhaseSpectrumUnit; param(params: PhaseSpectrumParams): PhaseSpectrum; /** * This method sets function that render phase texts on y coordinate. * @param {function|null} renderer This argument is function that render phase texts on y coordinate. * @return {PhaseSpectrum} Return value is for method chain. */ setRenderPhaseTextsFunction(renderer: ((data: Float32Array) => void) | null): PhaseSpectrum; /** * This method visualizes phase spectrum to Canvas. * @param {Float32Array} data This argument is frequency domain data phase for spectrum. * @override */ protected renderCanvas(data: Float32Array): void; /** * This method visualizes phase spectrum to SVG. * @param {Float32Array} data This argument is frequency domain data for phase spectrum. * @override */ protected renderSVG(data: Float32Array): void; } //# sourceMappingURL=PhaseSpectrum.d.ts.map