import { Part, IPartContext } from '../../part.js';
import { Monotron } from '../../../music/monotron/monotron.js';
import { PartComponent } from '../../component.js';
declare class SynthComponent extends PartComponent {
    volume: number;
    muted: boolean;
}
export declare class SynthPart extends Part {
    core: SynthComponent;
    private volumeAttenuation;
    private waveType;
    private gainNode?;
    private ctx?;
    private dest?;
    private sources;
    private monotron;
    static transformLegacy(app: any): void;
    constructor();
    onInstall(context: IPartContext): void;
    onStop(): void;
    setVolume(volume: number): void;
    _createMonotron(): Monotron;
    clamp(value: number, min: number, max: number): number;
    playFrequency(freq: number, length: number): void;
    start(): void;
    stop(): void;
    setPitch(freq: number): void;
    setWave(wave: OscillatorType): void;
}
export {};
