/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IFluidHandle } from "@fluidframework/core-interfaces";
import { ValueSchema } from "../../core";
/**
 * {@link ValueSchema} to allowed types for that schema.
 * @alpha
 */
export declare type TypedValue<TValue extends ValueSchema> = {
    [ValueSchema.Number]: number;
    [ValueSchema.String]: string;
    [ValueSchema.Boolean]: boolean;
    [ValueSchema.FluidHandle]: IFluidHandle;
}[TValue];
/**
 * {@link ValueSchema} | undefined to allowed types for that schema.
 * @alpha
 */
export declare type TypedValueOrUndefined<TValue extends ValueSchema | undefined> = TValue extends ValueSchema ? TypedValue<TValue> : undefined;
/**
 * @alpha
 */
export declare type ValuesOf<T> = T[keyof T];
//# sourceMappingURL=schemaAwareUtil.d.ts.map