import '../../globals.js';
import '../../chipper/js/browser/initialize-globals.js';
import TProperty from '../../axon/js/TProperty.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import Dimension2 from '../../dot/js/Dimension2.js';
import Range from '../../dot/js/Range.js';
import Vector2 from '../../dot/js/Vector2.js';
import PickRequired from '../../phet-core/js/types/PickRequired.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import ModelViewTransform2 from '../../phetcommon/js/view/ModelViewTransform2.js';
import { KeyboardDragListenerOptions } from '../../scenery/js/listeners/KeyboardDragListener.js';
import Node, { NodeOptions } from '../../scenery/js/nodes/Node.js';
import Font from '../../scenery/js/util/Font.js';
import TColor from '../../scenery/js/util/TColor.js';
type SelfOptions = {
    modelViewTransform?: ModelViewTransform2;
    bulbImageScale?: number;
    batteryDCell_pngScale?: number;
    probeSize?: Dimension2;
    probeLineWidth?: number;
    probeDragYRange?: Range | null;
    probeCursor?: string;
    positiveProbeFill?: TColor;
    positiveProbeStroke?: TColor;
    positiveLabelFill?: TColor;
    negativeProbeFill?: TColor;
    negativeProbeStroke?: TColor;
    negativeLabelFill?: TColor;
    wireStroke?: TColor;
    wireLineWidth?: number;
    bulbToBatteryWireLength?: number;
    shortCircuitFont?: Font;
    shortCircuitFill?: TColor;
    keyboardDragListenerOptions?: StrictOmit<KeyboardDragListenerOptions, 'tandem'>;
};
export type ConductivityTesterNodeOptions = SelfOptions & StrictOmit<NodeOptions, 'children'> & PickRequired<NodeOptions, 'tandem'>;
export default class ConductivityTesterNode extends Node {
    private readonly shortCircuitNode;
    /**
     * @param brightnessProperty brightness of bulb varies from 0 (off) to 1 (full on)
     * @param positionProperty position of the tester, at bottom-center of the bulb (model coordinate frame)
     * @param positiveProbePositionProperty position of bottom-center of the positive probe (model coordinate frame)
     * @param negativeProbePositionProperty position of bottom-center of the negative probe (model coordinate frame)
     * @param providedOptions
     */
    constructor(brightnessProperty: TReadOnlyProperty<number>, positionProperty: TProperty<Vector2>, positiveProbePositionProperty: TProperty<Vector2>, negativeProbePositionProperty: TProperty<Vector2>, providedOptions?: ConductivityTesterNodeOptions);
    /**
     * Is 'Short circuit' shown above the light bulb?
     */
    get shortCircuit(): boolean;
    /**
     * Determines whether 'Short circuit' is shown above the light bulb. Note that it is the client's responsibility
     * to ensure that the bulb's brightness (as set by brightnessProperty) is appropriate for a short circuit.
     */
    set shortCircuit(value: boolean);
}
export {};
