import '../../assert/js/assert.js';
import '../../tandem/js/PhetioIDUtils.js';
import '../../globals.js';
import TProperty from '../../axon/js/TProperty.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import { Node, TPaint } from '../../scenery/js/imports.js';
import RectangularPushButton, { RectangularPushButtonOptions } from './buttons/RectangularPushButton.js';
import { ComboBoxAccessibleNamePropertyMap, 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[], accessibleNamePropertyMap: ComboBoxAccessibleNamePropertyMap<T>, providedOptions?: ComboBoxButtonOptions);
    /**
     * 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 {};
//# sourceMappingURL=ComboBoxButton.d.ts.map