///
import * as Blockly from "blockly";
import { FieldBase } from "./field_base";
import { FieldCustomOptions } from "./field_utils";
export interface FieldSoundEffectParams extends FieldCustomOptions {
durationInputName: string;
startFrequencyInputName: string;
endFrequencyInputName: string;
startVolumeInputName: string;
endVolumeInputName: string;
waveFieldName: string;
interpolationFieldName: string;
effectFieldName: string;
useMixerSynthesizer: any;
}
export declare class FieldSoundEffect extends FieldBase {
protected mostRecentValue: pxt.assets.Sound;
protected drawnSound: pxt.assets.Sound;
protected workspace: Blockly.Workspace;
protected registeredChangeListener: boolean;
protected onInit(): void;
protected onDispose(): void;
protected onValueChanged(newValue: string): string;
redrawPreview(): void;
showEditor_(e: Event): void;
render_(): void;
getFieldDescription(): string;
protected updateSiblingBlocks(sound: pxt.assets.Sound): void;
protected setNumberInputValue(name: string, value: number): void;
protected getNumberInputValue(name: string, defaultValue: number): number;
protected fireNumberInputUpdate(name: string, oldValue: number): void;
protected setFieldDropdownValue(name: string, value: string): void;
protected getFieldDropdownValue(name: string): string;
protected fireFieldDropdownUpdate(name: string, oldValue: string): void;
protected readCurrentSound(): pxt.assets.Sound;
protected readBlockDataSound(): pxt.assets.Sound;
protected onWorkspaceChange: (ev: Blockly.Events.BlockChange) => void;
}