import '../../../assert/js/assert.js';
import '../../../globals.js';
/**
 * CrossFadeSoundClip is a sound generator that combines two sound clips and allows the user to set the relative mix -
 * aka fade - between them.  This can be useful in situations where there are a number of similar UI elements that need
 * to have similar but somewhat distinct interaction sounds.
 *
 * This was created specifically for the needs of the "Mean: Share and Balance" simulation, and there is at least one
 * example of how it was intended to be used in that sim.
 *
 * @author John Blanco (PhET Interactive Simulations)
 */
import NumberProperty from '../../../axon/js/NumberProperty.js';
import TSoundPlayer from '../TSoundPlayer.js';
import WrappedAudioBuffer from '../WrappedAudioBuffer.js';
import SoundGenerator, { SoundGeneratorOptions } from './SoundGenerator.js';
type SelfOptions = {
    crossFadeProperty?: NumberProperty | null;
    initialCrossFadeValue?: number;
};
type CrossFadeSoundClipOptions = SoundGeneratorOptions & SelfOptions;
declare class CrossFadeSoundClip extends SoundGenerator implements TSoundPlayer {
    readonly crossFadeProperty: NumberProperty;
    private readonly soundClipA;
    private readonly soundClipB;
    /**
     * @param audioBufferA - audio buffer for sound A
     * @param audioBufferB - audio buffer for sound B
     * @param [providedOptions]
     */
    constructor(audioBufferA: WrappedAudioBuffer, audioBufferB: WrappedAudioBuffer, providedOptions?: CrossFadeSoundClipOptions);
    play(): void;
    stop(): void;
    setPlaybackRate(playbackRate: number): void;
}
export default CrossFadeSoundClip;
//# sourceMappingURL=CrossFadeSoundClip.d.ts.map