import { type RecorderInterface } from '../recorder/RecorderInterface.js'; export declare class Oscillator { protected readonly recorder: RecorderInterface; /** * this.phase determines whether the next half oscillation is positive. * It's modified only when recording half oscillations. */ private phase; constructor(recorder: RecorderInterface); begin(): void; end(): void; recordSilence(samples: number): void; recordSilenceMs(lengthMs: number): void; recordOscillations(frequency: number, oscillations: number): void; recordHalfOscillation(frequency: number): void; recordHalfOscillationSamples(samples: number): void; togglePhase(): void; recordSeconds(frequency: number, seconds: number): void; }