import '../../../globals.js';
/**
 * SoundClipPlayer is a limited and automatically registered sound clip.  It is intended to be used for sounds that
 * can be shared in multiple places within a simulation so that separate instances of sound clips don't need to be
 * created and registered in as many places.  See resetAllSoundPlayer for an example.
 *
 * This type wraps the sound clip and only supports the play and stop methods so that attributes such as output level
 * and playback rate can't be easily altered.  A method is supported for retrieving the sound clip itself in case
 * additional information about or manipulation of the sound clip is necessary.
 *
 * If you're familiar with PhET graphics rendering library "scenery", this class is intended to support a feature that
 * is similar to the DAG (directed acyclic graph) feature in that library.  As with that feature, SoundClipPlayer can
 * get a little weird if not used as intended.
 *
 * @author John Blanco (PhET Interactive Simulations)
 */
import { SoundGeneratorAddOptions } from '../soundManager.js';
import { SoundClipOptions } from './SoundClip.js';
import WrappedAudioBuffer from '../WrappedAudioBuffer.js';
import TSoundPlayer from '../TSoundPlayer.js';
export type SoundClipPlayerOptions = {
    soundClipOptions?: SoundClipOptions;
    soundManagerOptions?: SoundGeneratorAddOptions;
};
declare class SoundClipPlayer implements TSoundPlayer {
    private readonly _soundClip;
    /**
     * @param wrappedAudioBuffer - a Web Audio audio buffer containing decoded audio samples
     * @param [providedOptions]
     */
    constructor(wrappedAudioBuffer: WrappedAudioBuffer, providedOptions?: SoundClipPlayerOptions);
    /**
     * Play the sound clip.
     */
    play(): void;
    /**
     * Stop the sound clip.  Does nothing if the sound clip is not playing.
     */
    stop(): void;
}
export default SoundClipPlayer;
//# sourceMappingURL=SoundClipPlayer.d.ts.map