import '../../../assert/js/assert.js';
import '../../../globals.js';
/**
 * RectangularToggleButton is a rectangular toggle button that toggles the value of a Property between 2 values.
 * It has the same look for both values.
 *
 * @author John Blanco (PhET Interactive Simulations)
 * @author Sam Reid (PhET Interactive Simulations)
 */
import Property from '../../../axon/js/Property.js';
import TSoundPlayer from '../../../tambo/js/TSoundPlayer.js';
import RectangularButton, { RectangularButtonOptions } from './RectangularButton.js';
type SelfOptions = {
    valueOffSoundPlayer?: TSoundPlayer;
    valueOnSoundPlayer?: TSoundPlayer;
};
export type RectangularToggleButtonOptions = SelfOptions & RectangularButtonOptions;
export default class RectangularToggleButton<T> extends RectangularButton {
    private readonly disposeRectangularToggleButton;
    /**
     * @param property - axon Property that can be either valueOff or valueOn
     * @param valueOff - value when the button is in the off state
     * @param valueOn - value when the button is in the on state
     * @param [providedOptions]
     */
    constructor(property: Property<T>, valueOff: T, valueOn: T, providedOptions?: RectangularButtonOptions);
    dispose(): void;
}
export {};
//# sourceMappingURL=RectangularToggleButton.d.ts.map