import '../../globals.js';
/**
 * InfiniteStatusBar is the status bar for games that have an infinite (open-ended) number of challenges per level.
 * See specification in https://github.com/phetsims/vegas/issues/59.
 *
 * @author Andrea Lin
 * @author Chris Malley (PixelZoom, Inc.)
 */
import TProperty from '../../axon/js/TProperty.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import Bounds2 from '../../dot/js/Bounds2.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import StatusBar, { StatusBarOptions } from '../../scenery-phet/js/StatusBar.js';
import { Node } from '../../scenery/js/imports.js';
import { PushButtonListener } from '../../sun/js/buttons/PushButtonModel.js';
type SelfOptions = {
    backButtonListener?: PushButtonListener;
    xMargin?: number;
    yMargin?: number;
    spacing?: number;
    createScoreDisplay?: (scoreProperty: TProperty<number>) => Node;
};
export type InfiniteStatusBarOptions = SelfOptions & StrictOmit<StatusBarOptions, 'children' | 'barHeight'>;
export default class InfiniteStatusBar extends StatusBar {
    private readonly disposeInfiniteStatusBar;
    /**
     * @param layoutBounds - layoutBounds of the ScreenView
     * @param visibleBoundsProperty - visible bounds of the ScreenView
     * @param messageNode - to the right of the back button, typically Text
     * @param scoreProperty
     * @param providedOptions
     */
    constructor(layoutBounds: Bounds2, visibleBoundsProperty: TReadOnlyProperty<Bounds2>, messageNode: Node, scoreProperty: TProperty<number>, providedOptions?: InfiniteStatusBarOptions);
    dispose(): void;
}
export {};
//# sourceMappingURL=InfiniteStatusBar.d.ts.map