/**
 * Some in-simulation utilities designed to help designers and developers
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import '../../globals.js';
import '../../chipper/js/browser/initialize-globals.js';
import type Property from '../../axon/js/Property.js';
import type TProperty from '../../axon/js/TProperty.js';
import type TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import Vector2 from '../../dot/js/Vector2.js';
import Shape from '../../kite/js/Shape.js';
import Enumeration from '../../phet-core/js/Enumeration.js';
import EnumerationValue from '../../phet-core/js/EnumerationValue.js';
import Node from '../../scenery/js/nodes/Node.js';
import Color from '../../scenery/js/util/Color.js';
import Trail from '../../scenery/js/util/Trail.js';
import type ScreenView from './ScreenView.js';
import type Sim from './Sim.js';
import type SimDisplay from './SimDisplay.js';
declare class PointerAreaType extends EnumerationValue {
    static readonly MOUSE: PointerAreaType;
    static readonly TOUCH: PointerAreaType;
    static readonly NONE: PointerAreaType;
    static readonly enumeration: Enumeration<PointerAreaType>;
}
export default class Helper {
    private sim;
    private simDisplay;
    private helperDisplay?;
    inputBasedPickingProperty: Property<boolean>;
    useLeafNodeProperty: Property<boolean>;
    pointerAreaTypeProperty: Property<PointerAreaType>;
    activeProperty: TProperty<boolean>;
    visualTreeVisibleProperty: Property<boolean>;
    pdomTreeVisibleProperty: Property<boolean>;
    underPointerVisibleProperty: Property<boolean>;
    optionsVisibleProperty: Property<boolean>;
    previewVisibleProperty: Property<boolean>;
    selectedNodeContentVisibleProperty: Property<boolean>;
    selectedTrailContentVisibleProperty: Property<boolean>;
    highlightVisibleProperty: Property<boolean>;
    boundsVisibleProperty: Property<boolean>;
    selfBoundsVisibleProperty: Property<boolean>;
    getHelperNodeVisibleProperty: Property<boolean>;
    helperVisibleProperty: Property<boolean>;
    pointerPositionProperty: TProperty<Vector2>;
    overInterfaceProperty: Property<boolean>;
    selectedTrailProperty: TProperty<Trail | null>;
    treeHoverTrailProperty: TProperty<Trail | null>;
    pointerTrailProperty: TReadOnlyProperty<Trail | null>;
    previewTrailProperty: TReadOnlyProperty<Trail | null>;
    helperNodeProperty: TReadOnlyProperty<Node | null>;
    previewShapeProperty: TReadOnlyProperty<Shape | null>;
    screenViewProperty: TProperty<ScreenView | null>;
    imageDataProperty: TProperty<ImageData | null>;
    colorProperty: TReadOnlyProperty<Color>;
    constructor(sim: Sim, simDisplay: SimDisplay);
    static helper?: Helper;
    static initialize(sim: Sim, simDisplay: SimDisplay): void;
}
export {};
