import '../../assert/js/assert.js';
import '../../globals.js';
import Enumeration from '../../phet-core/js/Enumeration.js';
import EnumerationValue from '../../phet-core/js/EnumerationValue.js';
import Announcer, { AnnouncerAnnounceOptions, AnnouncerOptions } from './Announcer.js';
import { ResolvedResponse } from './ResponsePacket.js';
import Utterance from './Utterance.js';
export declare class AriaLive extends EnumerationValue {
    readonly attributeString: string;
    constructor(attributeString: string);
    static readonly POLITE: AriaLive;
    static readonly ASSERTIVE: AriaLive;
    static readonly enumeration: Enumeration<AriaLive>;
}
type SelfOptions = {
    ariaLivePriority?: AriaLive;
};
type AriaLiveAnnouncerAnnounceOptions = SelfOptions & AnnouncerAnnounceOptions;
type AriaLiveAnnouncerSelfOptions = {
    lang?: string;
};
export type AriaLiveAnnouncerOptions = AriaLiveAnnouncerSelfOptions & AnnouncerOptions;
declare class AriaLiveAnnouncer extends Announcer {
    private politeElementIndex;
    private assertiveElementIndex;
    readonly ariaLiveContainer: HTMLDivElement;
    private readonly politeElements;
    private readonly assertiveElements;
    static readonly ARIA_LIVE_DELAY = 200;
    constructor(providedOptions?: AriaLiveAnnouncerOptions);
    /**
     * Announce an alert, setting textContent to an aria-live element.
     */
    announce(announceText: ResolvedResponse, utterance: Utterance, providedOptions?: AriaLiveAnnouncerAnnounceOptions): void;
    /**
     * The implementation of cancel for AriaLiveAnnouncer. We do not know whether the AT is speaking content so
     * this function is a no-op for aria-live.
     */
    cancel(): void;
    /**
     * The implementation of cancelUtterance for AriaLiveAnnouncer. We do not know whether the AT is speaking content so
     * this function is a no-op for aria-live.
     */
    cancelUtterance(utterance: Utterance): void;
    /**
     * Update an element with the 'aria-live' attribute by setting its text content.
     *
     * @param liveElement - the HTML element that will send the alert to the assistive technology
     * @param textContent - the content to be announced
     * @param utterance
     */
    private updateLiveElement;
    static readonly AriaLive: typeof AriaLive;
}
export default AriaLiveAnnouncer;
//# sourceMappingURL=AriaLiveAnnouncer.d.ts.map