import '../../../../assert/js/assert.js';
import '../../../../globals.js';
import TReadOnlyProperty from '../../../../axon/js/TReadOnlyProperty.js';
import StrictOmit from '../../../../phet-core/js/types/StrictOmit.js';
import { ReadingBlockOptions, RichTextOptions, VBox, VBoxOptions } from '../../../../scenery/js/imports.js';
import KeyboardHelpSectionRow from './KeyboardHelpSectionRow.js';
type SelfOptions = {
    headingOptions?: RichTextOptions;
    textMaxWidth?: number;
    vBoxOptions?: StrictOmit<VBoxOptions, 'tagName'>;
    a11yContentTagName?: string | null;
};
type ParentOptions = ReadingBlockOptions & VBoxOptions;
export type KeyboardHelpSectionOptions = SelfOptions & ParentOptions;
declare const KeyboardHelpSection_base: typeof VBox & import("../../../../phet-core/js/types/Constructor.js").default<import("../../../../scenery/js/imports.js").TReadingBlock<VBox>>;
export default class KeyboardHelpSection extends KeyboardHelpSection_base {
    private readonly headingStringProperty;
    private readonly icons;
    private keyboardHelpSectionRows;
    private readonly iconVBox;
    private readonly contentHBox;
    static readonly DEFAULT_VERTICAL_ICON_SPACING = 13;
    /**
     * @param headingString - the translatable heading for this section
     * @param content -  icons and labels are each placed in their own VBox, and these layout boxes are aligned
     *   horizontally. It is assumed that label and icon have identical bounds so that each row of content can be
     *   aligned by KeyboardHelpSection. Static functions in this file use AlignGroup to achieve this. For examples,
     *   see labelWithIcon() and labelWithIconList().
     * @param [providedOptions]
     */
    constructor(headingString: string | TReadOnlyProperty<string>, content: KeyboardHelpSectionRow[], providedOptions?: KeyboardHelpSectionOptions);
    /**
     * Assemble the content that is read for this KeyboardHelpSection as a ReadingBlock. When
     * Voicing is enabled, activating the section will read all the content to the user.
     *
     * NOTE: Though this supports dynamic string Properties, this probably doesn't hold up for i18n. That said Voicing
     * does not support translation and that will have to be worked on another time.
     */
    private createReadingBlockResponseProperty;
    /**
     * Vertically align icons for a number of different KeyboardHelpSections. Useful when two KeyboardHelpSection
     * sections are stacked vertically in a Dialog. Loops through sectionArray and finds the max x value of the left
     * edge of the icon VBox. Then increases spacing of all other content HBoxes accordingly.
     */
    static alignHelpSectionIcons(sectionArray: KeyboardHelpSection[]): void;
}
export {};
//# sourceMappingURL=KeyboardHelpSection.d.ts.map