/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
/**
 * Utilities for manipulating types.
 */
/**
 * Convert a object type into the type of a ReadonlyMap from field name to value.
 */
export type ObjectToMap<ObjectMap, MapKey extends number | string, MapValue> = ReadonlyMap<MapKey, MapValue> & {
    get<TKey extends keyof ObjectMap>(key: TKey): ObjectMap[TKey];
};
export declare function objectToMapTyped<ObjectMap extends Record<MapKey, MapValue>, MapKey extends string, MapValue>(objectMap: ObjectMap): ObjectToMap<ObjectMap, MapKey, MapValue>;
/**
 * Convert a Array type into the type of ReadonlySet.
 *
 * Same as `keyof ListToKeys<T, unknown>` but work for values that are not valid keys.
 * @beta
 */
export type ArrayToUnion<T extends readonly unknown[]> = T extends readonly (infer TValue)[] ? TValue : never;
//# sourceMappingURL=typeUtils.d.ts.map