/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { IFluidHandle } from "@fluidframework/core-interfaces";
import { type TreeValue, type Value, ValueSchema } from "../core/index.js";
export declare function allowsValue(schema: ValueSchema | undefined, nodeValue: Value): boolean;
export declare function valueSchemaAllows<TSchema extends ValueSchema>(schema: TSchema, nodeValue: Value): nodeValue is TreeValue<TSchema>;
/**
 * Use for readonly view of Json compatible data that can also contain IFluidHandles.
 *
 * Note that this does not robustly forbid non json comparable data via type checking,
 * but instead mostly restricts access to it.
 */
export type FluidSerializableReadOnly = IFluidHandle | string | number | boolean | null | readonly FluidSerializableReadOnly[] | {
    readonly [P in string]?: FluidSerializableReadOnly;
};
export declare function assertAllowedValue(value: undefined | FluidSerializableReadOnly): asserts value is TreeValue;
/**
 * Checks if a value is a {@link TreeValue}.
 */
export declare function isTreeValue(nodeValue: unknown): nodeValue is TreeValue;
//# sourceMappingURL=valueUtilities.d.ts.map