/**
 * Button for a single screen in the navigation bar, shows the text and the navigation bar icon.
 *
 * @author Sam Reid (PhET Interactive Simulations)
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 * @author Chris Malley (PixelZoom, Inc.)
 */
import '../../globals.js';
import type Property from '../../axon/js/Property.js';
import type TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import type PickRequired from '../../phet-core/js/types/PickRequired.js';
import { type VoicingOptions } from '../../scenery/js/accessibility/voicing/Voicing.js';
import Node, { type NodeOptions } from '../../scenery/js/nodes/Node.js';
import Color from '../../scenery/js/util/Color.js';
import { type AnyScreen } from './Screen.js';
import type StrictOmit from '../../phet-core/js/types/StrictOmit.js';
type SelfOptions = {
    maxButtonWidth?: number | null;
};
type ParentOptions = VoicingOptions & StrictOmit<NodeOptions, 'accessibleName'>;
type NavigationBarScreenButtonOptions = SelfOptions & ParentOptions & PickRequired<ParentOptions, 'tandem'>;
declare const NavigationBarScreenButton_base: typeof Node & import("../../phet-core.js").Constructor<import("../../scenery/js/accessibility/voicing/Voicing.js").TVoicing<Node>>;
declare class NavigationBarScreenButton extends NavigationBarScreenButton_base {
    private readonly buttonModel;
    readonly screen: AnyScreen;
    /**
     * @param navigationBarFillProperty - the color of the navbar, as a string.
     * @param screenProperty
     * @param screen
     * @param simScreenIndex - the index (within sim screens only) of the screen corresponding to this button
     * @param navBarHeight
     * @param [providedOptions]
     */
    constructor(navigationBarFillProperty: TReadOnlyProperty<Color>, screenProperty: Property<AnyScreen>, screen: AnyScreen, simScreenIndex: number, navBarHeight: number, providedOptions: NavigationBarScreenButtonOptions);
}
export default NavigationBarScreenButton;
