import '../../tandem/js/PhetioIDUtils.js';
import '../../globals.js';
// Copyright 2022, University of Colorado Boulder
/**
 * In TypeScript, it is common to use a string literal union as an enumeration.  This type automatically specifies
 * validValues and the phetioType for convenience.
 *
 * @author Sam Reid (PhET Interactive Simulations)
 */
import Property from './Property.js';
import StringUnionIO from '../../tandem/js/types/StringUnionIO.js';
import optionize from '../../phet-core/js/optionize.js';
import axon from './axon.js';
export default class StringUnionProperty extends Property {
    constructor(value, providedOptions) {
        const options = optionize()({
            phetioValueType: StringUnionIO(providedOptions.validValues)
        }, providedOptions);
        super(value, options);
    }
}
axon.register('StringUnionProperty', StringUnionProperty);
//# sourceMappingURL=StringUnionProperty.js.map