import '../../assert/js/assert.js';
import '../../globals.js';
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 { Font, Node, TColor, TextOptions } from '../../scenery/js/imports.js';
import { TextPushButtonOptions } from '../../sun/js/buttons/TextPushButton.js';
type SelfOptions = {
    challengeIndexProperty?: TReadOnlyProperty<number> | null;
    numberOfChallengesProperty?: TReadOnlyProperty<number> | null;
    levelProperty?: TReadOnlyProperty<number> | null;
    elapsedTimeProperty?: TReadOnlyProperty<number> | null;
    timerEnabledProperty?: TReadOnlyProperty<boolean> | null;
    levelVisible?: boolean;
    challengeNumberVisible?: boolean;
    font?: Font;
    textFill?: TColor;
    createScoreDisplay?: (scoreProperty: TProperty<number>) => Node;
    startOverButtonOptions?: TextPushButtonOptions;
    startOverButtonText?: string | TReadOnlyProperty<string>;
    clockIconRadius?: number;
    xSpacing?: number;
    xMargin?: number;
    yMargin?: number;
    levelTextOptions?: TextOptions;
    challengeTextOptions?: TextOptions;
    barFill?: TColor;
    barStroke?: TColor;
};
export type FiniteStatusBarOptions = SelfOptions & StrictOmit<StatusBarOptions, 'children' | 'barHeight'>;
export default class FiniteStatusBar extends StatusBar {
    private readonly disposeFiniteStatusBar;
    /**
     * @param layoutBounds - layoutBounds of the ScreenView
     * @param visibleBoundsProperty - visible bounds of the ScreenView
     * @param scoreProperty
     * @param providedOptions
     */
    constructor(layoutBounds: Bounds2, visibleBoundsProperty: TReadOnlyProperty<Bounds2>, scoreProperty: TProperty<number>, providedOptions?: FiniteStatusBarOptions);
    dispose(): void;
}
export {};
//# sourceMappingURL=FiniteStatusBar.d.ts.map