import type { OnDestroy } from '@angular/core';
import { EventEmitter } from '@angular/core';
import type { AudioParamInput } from '../types/audio-param-input';
import * as i0 from "@angular/core";
export declare class WebAudioOscillator extends OscillatorNode implements OnDestroy {
    detuneParam?: AudioParamInput | string;
    frequencyParam?: AudioParamInput | string;
    ended?: EventEmitter<void>;
    constructor(autoplay: string | null, detuneArg: string | null, frequencyArg: string | null);
    protected static init(that: WebAudioOscillator, node: AudioNode | null, autoplay: string | null): void;
    set periodicWave(periodicWave: PeriodicWave);
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WebAudioOscillator, [{ attribute: "autoplay"; }, { attribute: "detune"; }, { attribute: "frequency"; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<WebAudioOscillator, "[waOscillatorNode]", ["AudioNode"], { "type": { "alias": "type"; "required": false; }; "channelCount": { "alias": "channelCount"; "required": false; }; "channelCountMode": { "alias": "channelCountMode"; "required": false; }; "channelInterpretation": { "alias": "channelInterpretation"; "required": false; }; "detuneParam": { "alias": "detune"; "required": false; }; "frequencyParam": { "alias": "frequency"; "required": false; }; "periodicWave": { "alias": "periodicWave"; "required": false; }; }, { "ended": "ended"; }, never, never, true, never>;
}
