import '../../globals.js';
/**
 * MenuItem is an item in the PhetMenu.
 *
 * @author Michael Kauzmann (PhET Interactive Simulations)
 */
import TProperty from '../../axon/js/TProperty.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import { Node, NodeOptions, SceneryEvent, TPaint, VoicingOptions } from '../../scenery/js/imports.js';
type SelfOptions = {
    separatorBefore?: boolean;
    checkedProperty?: TProperty<boolean> | null;
    textFill?: TPaint;
};
type ParentOptions = VoicingOptions & NodeOptions;
export type MenuItemOptions = SelfOptions & ParentOptions;
declare const MenuItem_base: typeof Node & import("../../phet-core/js/types/Constructor.js").default<import("../../scenery/js/imports.js").TVoicing<Node>> & import("../../phet-core/js/types/Constructor.js").default<import("../../scenery/js/imports.js").TWidthSizable>;
export default class MenuItem extends MenuItem_base {
    readonly present: boolean;
    readonly separatorBefore: boolean;
    private readonly disposeMenuItem;
    /**
     * @param closeCallback - called when firing the menu item, most likely this should close the PhetMenu.
     * @param labelStringProperty - label for the menu item
     * @param callback - called when the menu item is selected
     * @param present - see present field
     * @param shouldBeHiddenWhenLinksAreNotAllowed
     * @param [providedOptions]
     */
    constructor(closeCallback: (event: SceneryEvent) => void, labelStringProperty: TReadOnlyProperty<string>, callback: (event: SceneryEvent) => void, present: boolean, shouldBeHiddenWhenLinksAreNotAllowed: boolean, providedOptions?: MenuItemOptions);
    dispose(): void;
}
export {};
//# sourceMappingURL=MenuItem.d.ts.map