import '../../chipper/js/browser/initialize-globals.js';
import '../../assert/js/assert.js';
import '../../globals.js';
/**
 * A manager that controls whether all audio is enabled and whether each auditory feature is enabled. Has flags that
 * indicate which auditory features are supported. Also responsible for initializing managers for sub-components
 * of the AudioManager.
 *
 * PhET uses the term "Audio" to describe the collection of all auditory features that are provided by the simulation.
 * Under "Audio" there are currently two sub-features that can be separately enabled and disabled that PhET calls
 * "Sound" and "Voicing". Illustrated below:
 *
 * "Audio" - All auditory output in the sim.
 *  - "Sound" - All sound effects and sonifications that represent the simulation.
 *    - "Extra Sound" - Additional Sounds that can be enabled separately, but may not be beneficial for all users.
 *  - "Voicing" - Spoken text that describes what is happening in the simulation.
 *
 *  Disabling Audio will mute all subcomponents. But each subcomponent can be muted separately.
 *
 * @author Jesse Greenberg
 */
import BooleanProperty from '../../axon/js/BooleanProperty.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import PhetioObject from '../../tandem/js/PhetioObject.js';
import Tandem from '../../tandem/js/Tandem.js';
import Sim from './Sim.js';
declare class AudioManager extends PhetioObject {
    readonly audioEnabledProperty: BooleanProperty;
    readonly audioAndSoundEnabledProperty: TReadOnlyProperty<boolean>;
    readonly audioAndVoicingEnabledProperty: TReadOnlyProperty<boolean>;
    readonly anySubcomponentEnabledProperty: TReadOnlyProperty<boolean>;
    readonly anyOutputEnabledProperty: TReadOnlyProperty<boolean>;
    constructor(tandem: Tandem);
    /**
     * Initialize the AudioManager and subcomponents.
     */
    initialize(sim: Sim): void;
}
declare const audioManager: AudioManager;
export default audioManager;
//# sourceMappingURL=audioManager.d.ts.map