import '../../globals.js';
import { DisposableOptions } from '../../axon/js/Disposable.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import { Node } from '../../scenery/js/imports.js';
type SectionContent = TReadOnlyProperty<string> | Array<TReadOnlyProperty<string>> | null;
type SelfOptions = {
    playAreaContent?: SectionContent;
    controlAreaContent?: SectionContent;
    currentDetailsContent?: SectionContent;
    additionalContent?: SectionContent;
    interactionHintContent?: SectionContent;
};
type ParentOptions = DisposableOptions;
type ScreenSummaryContentOptions = SelfOptions & ParentOptions;
export default class ScreenSummaryContent extends Node {
    private _playAreaContent;
    private _controlAreaContent;
    private _combinedVoicingOverviewContent;
    private _combinedVoicingCurrentDetailsContent;
    private _combinedVoicingInteractionHintContent;
    private readonly playAreaContentNode;
    private readonly controlAreaContentNode;
    private readonly currentDetailsContentNode;
    private readonly additionalContent;
    private readonly interactionHintContentNode;
    private readonly inThePlayAreaParagraph;
    private readonly inTheControlAreaParagraph;
    constructor(providedOptions?: ScreenSummaryContentOptions);
    /**
     * Set the content that describes the play area of the screen.
     */
    setPlayAreaContent(content: SectionContent): void;
    /**
     * Set the content that describes the control area of the screen.
     * @param content
     */
    setControlAreaContent(content: SectionContent): void;
    /**
     * Set the content that describes the current details of the screen.
     */
    setCurrentDetailsContent(content: SectionContent): void;
    /**
     * Set the content that describes the additional content for the screen. This is content that does not
     * fit into the play area, control area, or current details. This comes after the current details content, and
     * before the interaction hint content.
     */
    setAdditionalContent(content: SectionContent): void;
    /**
     * Set the content that describes the interaction hint for the screen.
     */
    setInteractionHintContent(content: SectionContent): void;
    /**
     * Returns the value of the combined voicing overview content. This is a string that includes all values for
     * the play area and control area content. It is spoken when the user presses the "Overview" button in the voicing
     * toolbar.
     *
     * Your ScreenSummaryContent can override this function if you do not want to use the combined content.
     */
    getVoicingOverviewString(): null | string;
    /**
     * Returns the value of the combined voicing current details content. This is a string that includes all values for
     * the current details content. It is spoken when the user presses the "Details" button in the voicing
     * toolbar.
     *
     * Your ScreenSummaryContent can override this function if you do not want to use the combined content.
     */
    getVoicingDetailsString(): null | string;
    /**
     * Returns the value of the combined voicing interaction hint content. This is a string that includes all values for
     * the interaction hint content. It is spoken when the user presses the "Hint" button in the voicing
     * toolbar.
     *
     * Your ScreenSummaryContent can override this function if you do not want to use the combined content.
     */
    getVoicingInteractionHintString(): null | string;
    /**
     * Given multiple SectionContent arguments, combine them into a single string for Voicing.
     */
    private combineContent;
    /**
     * Some of the content has a leading paragraph that be need to be hidden if there ins't any.
     */
    private handleLeadingParagraph;
    /**
     * Create the necessary Nodes for the provided content.
     */
    private createParagraphNodes;
    /**
     * Create a paragraph Node for an item of content.
     */
    private createNode;
}
export {};
//# sourceMappingURL=ScreenSummaryContent.d.ts.map