import '../../tandem/js/PhetioIDUtils.js';
import '../../globals.js';
import EnumerationValue from './EnumerationValue.js';
/**
 * Abstraction used by EnumerationProperty, and implemented by Enumeration.ts
 *
 * @author Sam Reid (PhET Interactive Simulations)
 */
type TEnumeration<T extends EnumerationValue> = {
    readonly keys: string[];
    readonly values: T[];
    readonly phetioDocumentation?: string;
    getValue(key: string): T;
    getKey(value: T): string;
    includes(value: T): boolean;
};
type EnumerationContainer<T extends EnumerationValue> = {
    enumeration: TEnumeration<T>;
};
export type { EnumerationContainer };
export default TEnumeration;
//# sourceMappingURL=TEnumeration.d.ts.map