import '../../../globals.js';
/**
 * A sound generator that plays sounds each time a property changes to a new value.
 *
 * @author John Blanco (PhET Interactive Simulations)
 */
import Property from '../../../axon/js/Property.js';
import WrappedAudioBuffer from '../WrappedAudioBuffer.js';
import MultiClip, { MultiClipOptions } from './MultiClip.js';
type SelfOptions = {
    linkLazily?: boolean;
};
export type PropertyMultiClipOptions = SelfOptions & MultiClipOptions;
declare class PropertyMultiClip<T> extends MultiClip<T> {
    private readonly disposePropertyMultiClip;
    /**
     * @param property - the property for which sounds are played on value changes
     * @param valueToSoundMap - a map of values to WrappedAudioBuffer objects that is used to define the association
     *                          between values and sounds.
     * @param [providedOptions]
     */
    constructor(property: Property<T>, valueToSoundMap: Map<T, WrappedAudioBuffer>, providedOptions?: PropertyMultiClipOptions);
    /**
     * dispose function
     */
    dispose(): void;
}
export default PropertyMultiClip;
//# sourceMappingURL=PropertyMultiClip.d.ts.map