/**
 * The button on a combo box box.  Displays the current selection on the button.
 * Typically instantiated by ComboBox, not by client code.
 *
 * @author Chris Malley (PixelZoom, Inc.)
 */
import '../../globals.js';
import type TProperty from '../../axon/js/TProperty.js';
import type TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import type StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import Node from '../../scenery/js/nodes/Node.js';
import type TPaint from '../../scenery/js/util/TPaint.js';
import RectangularPushButton, { type RectangularPushButtonOptions } from './buttons/RectangularPushButton.js';
import { type ComboBoxItemNoNode } from './ComboBox.js';
declare const ALIGN_VALUES: readonly ["left", "center", "right"];
declare const ARROW_DIRECTION_VALUES: readonly ["up", "down"];
export type ComboBoxButtonAlign = typeof ALIGN_VALUES[number];
export type ComboBoxButtonArrowDirection = typeof ARROW_DIRECTION_VALUES[number];
type SelfOptions = {
    align?: ComboBoxButtonAlign;
    arrowDirection?: ComboBoxButtonArrowDirection;
    arrowFill?: TPaint;
    comboBoxVoicingNameResponsePattern?: TReadOnlyProperty<string> | string;
    localPreferredWidthProperty?: TReadOnlyProperty<number | null>;
    localMinimumWidthProperty?: TProperty<number | null>;
};
export type ComboBoxButtonOptions = SelfOptions & StrictOmit<RectangularPushButtonOptions, 'children' | 'ariaLabelledbyAssociations'>;
export default class ComboBoxButton<T> extends RectangularPushButton {
    private _blockNextVoicingFocusListener;
    private readonly disposeComboBoxButton;
    private arrow;
    private separatorLine;
    constructor(property: TProperty<T>, items: ComboBoxItemNoNode<T>[], nodes: Node[], providedOptions?: ComboBoxButtonOptions);
    private setAriaHasPopUp;
    /**
     * Sets the button to look like a value display instead of a combo box button.
     * See https://github.com/phetsims/sun/issues/451
     */
    setDisplayOnly(displayOnly: boolean): void;
    /**
     * Call to block voicing from occurring upon this button's next focus event.
     * For use by ComboBox.
     */
    blockNextVoicingFocusListener(): void;
    dispose(): void;
}
export {};
