import '../../chipper/js/browser/initialize-globals.js';
import '../../assert/js/assert.js';
import '../../globals.js';
import Property from '../../axon/js/Property.js';
import { Node, NodeOptions, PaintableOptions, PathOptions, RectangleOptions } from '../../scenery/js/imports.js';
import TSoundPlayer from '../../tambo/js/TSoundPlayer.js';
import IOType from '../../tandem/js/types/IOType.js';
import { VoicingResponse } from '../../utterance-queue/js/ResponsePacket.js';
import { TAlertable } from '../../utterance-queue/js/Utterance.js';
import { ExpandCollapseButtonOptions } from './ExpandCollapseButton.js';
type SelfOptions = {
    titleNode?: Node;
    expandedProperty?: Property<boolean>;
    expandedDefaultValue?: boolean;
    overrideTitleNodePickable?: boolean;
    resize?: boolean;
    cursor?: NodeOptions['cursor'];
    lineWidth?: PathOptions['lineWidth'];
    cornerRadius?: RectangleOptions['cornerRadius'];
    stroke?: PaintableOptions['stroke'];
    fill?: PaintableOptions['fill'];
    minWidth?: number;
    titleAlignX?: 'center' | 'left' | 'right';
    titleAlignY?: 'top' | 'center';
    titleXMargin?: number;
    titleYMargin?: number;
    titleXSpacing?: number;
    showTitleWhenExpanded?: boolean;
    useExpandedBoundsWhenCollapsed?: boolean;
    useContentWidthWhenCollapsed?: boolean;
    titleBarExpandCollapse?: boolean;
    allowContentToOverlapTitle?: boolean;
    expandCollapseButtonOptions?: ExpandCollapseButtonOptions;
    buttonAlign?: 'left' | 'right';
    buttonXMargin?: number;
    buttonYMargin?: number;
    contentAlign?: 'left' | 'center' | 'right';
    contentVerticalAlign?: 'top' | 'center' | 'bottom';
    contentXMargin?: number;
    contentYMargin?: number;
    contentXSpacing?: number;
    contentYSpacing?: number;
    titleBarOptions?: RectangleOptions;
    expandedSoundPlayer?: TSoundPlayer;
    collapsedSoundPlayer?: TSoundPlayer;
    expandedContextResponse?: TAlertable;
    collapsedContextResponse?: TAlertable;
    voicingNameResponse?: VoicingResponse;
    voicingObjectResponse?: VoicingResponse;
    voicingContextResponse?: VoicingResponse;
    voicingHintResponse?: VoicingResponse;
    headingTagName?: string;
};
export type AccordionBoxOptions = SelfOptions & NodeOptions;
declare const AccordionBox_base: typeof Node & import("../../phet-core/js/types/Constructor.js").default<import("../../scenery/js/imports.js").TWidthSizable & import("../../scenery/js/imports.js").THeightSizable & {
    validateLocalPreferredSize(): void;
}>;
export default class AccordionBox extends AccordionBox_base {
    readonly expandedProperty: Property<boolean>;
    private readonly expandCollapseButton;
    private readonly expandedBox;
    private readonly collapsedBox;
    private readonly expandedTitleBar;
    private readonly collapsedTitleBar;
    private readonly resetAccordionBox;
    private readonly expandedBoxOutline;
    private readonly collapsedBoxOutline;
    private readonly constraint;
    static readonly AccordionBoxIO: IOType<any, any, any>;
    /**
     * @param contentNode - Content that  will be shown or hidden as the accordion box is expanded/collapsed. NOTE: AccordionBox
     *                      places this Node in a pdomOrder, so you should not do that yourself.
     * @param [providedOptions]
     */
    constructor(contentNode: Node, providedOptions?: AccordionBoxOptions);
    /**
     * Returns the ideal height of the collapsed box (ignoring things like stroke width)
     */
    getCollapsedBoxHeight(): number;
    /**
     * Returns the ideal height of the expanded box (ignoring things like stroke width)
     */
    getExpandedBoxHeight(): number;
    reset(): void;
}
export {};
//# sourceMappingURL=AccordionBox.d.ts.map