import '../../tandem/js/PhetioIDUtils.js';
import '../../globals.js';
/**
 * Property support for rich enumeration types.
 *
 * @author Sam Reid (PhET Interactive Simulations)
 */
import Property, { PropertyOptions } from './Property.js';
import EnumerationValue from '../../phet-core/js/EnumerationValue.js';
import Enumeration from '../../phet-core/js/Enumeration.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
type SelfOptions<T extends EnumerationValue> = {
    enumeration?: Enumeration<T>;
};
export type EnumerationPropertyOptions<T extends EnumerationValue> = SelfOptions<T> & StrictOmit<PropertyOptions<T>, 'phetioValueType'>;
export default class EnumerationProperty<T extends EnumerationValue> extends Property<T> {
    constructor(value: T, providedOptions?: EnumerationPropertyOptions<T>);
}
export {};
//# sourceMappingURL=EnumerationProperty.d.ts.map