import '../../../../assert/js/assert.js';
import '../../../../globals.js';
/**
 * Generic base class responsible for interfacing between a Node to alert description.
 * @author Michael Kauzmann (PhET Interactive Simulations)
 */
import EnabledComponent, { EnabledComponentOptions } from '../../../../axon/js/EnabledComponent.js';
import { Node } from '../../../../scenery/js/imports.js';
import { TAlertable } from '../../../../utterance-queue/js/Utterance.js';
import UtteranceQueue from '../../../../utterance-queue/js/UtteranceQueue.js';
type UtteranceQueueCallback = (queue: UtteranceQueue) => void;
type SelfOptions = {
    alertToVoicing?: boolean;
    descriptionAlertNode?: Node | null;
};
export type AlerterOptions = SelfOptions & EnabledComponentOptions;
declare class Alerter extends EnabledComponent {
    readonly alertToVoicing: boolean;
    readonly descriptionAlertNode: Node | null;
    constructor(providedOptions?: AlerterOptions);
    /**
     * Alert to both description and voicing utteranceQueues, depending on if both are supported by this instance
     */
    alert(alertable: TAlertable): void;
    /**
     * Forward to provided Node for UtteranceQueue alerting logic. See ParallelDOM.alertDescriptionUtterance() for details.
     */
    alertDescriptionUtterance(alertable: TAlertable): void;
    /**
     * Forward to provided Node for UtteranceQueue alerting logic. See ParallelDOM.forEachUtteranceQueue() for details.
     */
    forEachUtteranceQueue(utteranceQueueCallback: UtteranceQueueCallback): void;
}
export default Alerter;
//# sourceMappingURL=Alerter.d.ts.map