/**
 * SpectrumSlider is a slider-like control used for choosing a value that corresponds to a displayed color.
 * It is the base class for WavelengthSlider.
 *
 * @author Chris Malley (PixelZoom, Inc.)
 * @author Sam Reid (PhET Interactive Simulations)
 */
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 StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import SceneryEvent from '../../scenery/js/input/SceneryEvent.js';
import Node, { NodeOptions } from '../../scenery/js/nodes/Node.js';
import Color from '../../scenery/js/util/Color.js';
import Font from '../../scenery/js/util/Font.js';
import TColor from '../../scenery/js/util/TColor.js';
import { AccessibleSliderOptions } from '../../sun/js/accessibility/AccessibleSlider.js';
type SelfOptions = {
    minValue?: number;
    maxValue?: number;
    valueToString?: (value: number) => string;
    valueToColor?: (value: number) => Color;
    trackWidth?: number;
    trackHeight?: number;
    trackOpacity?: number;
    trackBorderStroke?: TColor;
    thumbWidth?: number;
    thumbHeight?: number;
    thumbTouchAreaXDilation?: number;
    thumbTouchAreaYDilation?: number;
    thumbMouseAreaXDilation?: number;
    thumbMouseAreaYDilation?: number;
    valueFont?: Font;
    valueFill?: TColor;
    valueVisible?: boolean;
    valueYSpacing?: number;
    tweakersVisible?: boolean;
    tweakerValueDelta?: number;
    tweakersXSpacing?: number;
    maxTweakersHeight?: number;
    tweakersTouchAreaXDilation?: number;
    tweakersTouchAreaYDilation?: number;
    tweakersMouseAreaXDilation?: number;
    tweakersMouseAreaYDilation?: number;
    cursorVisible?: boolean;
    cursorStroke?: TColor;
};
type ParentOptions = AccessibleSliderOptions & NodeOptions;
export type SpectrumSliderOptions = SelfOptions & StrictOmit<ParentOptions, 'valueProperty' | 'enabledRangeProperty'>;
declare const SpectrumSlider_base: typeof Node & import("../../phet-core.js").Constructor<{
    startDrag: (event: SceneryEvent) => void;
    drag: (event: SceneryEvent) => void;
    endDrag: (event: SceneryEvent | null) => void;
} & {
    startInput: import("../../scenery.js").SceneryListenerFunction;
    onInput: (event: SceneryEvent, oldValue: number) => void;
    endInput: (event: SceneryEvent | null) => void;
    constrainValue: ((value: number) => number);
    panTargetNode: Node | null;
    roundToStepSize: boolean;
    pdomMapPDOMValue: ((value: number) => number);
    pdomMapValue: ((newValue: number, previousValue: number) => number);
    pdomRepeatEqualValueText: boolean;
    pdomCreateAriaValueText: {
        (pdomMappedValue: number, newValue: number, valueOnStart: number | null): import("../../scenery.js").PDOMValueType | null;
        reset?: () => void;
    };
    pdomCreateContextResponseAlert: {
        (pdomMappedValue: number, newValue: number, valueOnStart: number): import("../../scenery.js").PDOMValueType | null;
        reset?: () => void;
    } | null;
    contextResponsePerValueChangeDelay: number;
    contextResponseMaxDelay: number;
    voicingOnEndResponseOptions: import("../../sun.js").VoicingOnEndResponseOptions;
    setPDOMDependencies(dependencies: TReadOnlyProperty<import("../../phet-core.js").IntentionalAny>[]): void;
    getPDOMDependencies(): TReadOnlyProperty<import("../../phet-core.js").IntentionalAny>[];
    pdomDependencies: TReadOnlyProperty<import("../../phet-core.js").IntentionalAny>[];
    alertContextResponse(): void;
    reset(): void;
    getAccessibleValueHandlerInputListener(): import("../../scenery.js").TInputListener;
    handleKeyDown(event: SceneryEvent<KeyboardEvent>): void;
    handleKeyUp(event: SceneryEvent<KeyboardEvent>): void;
    handleChange(event: SceneryEvent): void;
    handleInput(event: SceneryEvent): void;
    handleBlur(event: SceneryEvent<FocusEvent>): void;
    setKeyboardStep(keyboardStep: number): void;
    keyboardStep: number;
    getKeyboardStep(): number;
    setShiftKeyboardStep(shiftKeyboardStep: number): void;
    shiftKeyboardStep: number;
    getShiftKeyboardStep(): number;
    getShiftKeyDown(): boolean;
    readonly shiftKeyDown: boolean;
    setPageKeyboardStep(pageKeyboardStep: number): void;
    pageKeyboardStep: number;
    getPageKeyboardStep(): number;
    setAriaOrientation(orientation: import("../../phet-core.js").Orientation): void;
    ariaOrientation: import("../../phet-core.js").Orientation;
    getAriaOrientation(): import("../../phet-core.js").Orientation;
    voicingOnEndResponse(valueOnStart: number, providedOptions?: import("../../sun.js").VoicingOnEndResponseOptions): void;
} & import("../../scenery.js").TVoicing<Node>>;
/**
 * @deprecated use WavelengthNumberControl, or Slider.js with SpectrumSliderTrack and SpectrumSliderTrack,
 *   see https://github.com/phetsims/scenery-phet/issues/729
 */
export default class SpectrumSlider extends SpectrumSlider_base {
    private readonly disposeSpectrumSlider;
    /**
     * @param valueProperty
     * @param providedOptions
     */
    constructor(valueProperty: TProperty<number>, providedOptions?: SpectrumSliderOptions);
    dispose(): void;
}
export {};
