/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { type ITreeSubscriptionCursor } from "../../core/index.js";
import type { FlexFieldKind } from "../modular-schema/index.js";
import { type FlexAllowedTypes, type FlexFieldSchema, type FlexTreeNodeSchema } from "../typed-schema/index.js";
import type { Context } from "./context.js";
import type { FlexTreeUnboxField, FlexTreeUnboxNode, FlexTreeUnboxNodeUnion } from "./flexTreeTypes.js";
/**
 * See {@link FlexTreeUnboxNode} for documentation on what unwrapping this performs.
 */
export declare function unboxedTree<TSchema extends FlexTreeNodeSchema>(context: Context, schema: TSchema, cursor: ITreeSubscriptionCursor): FlexTreeUnboxNode<TSchema>;
/**
 * See {@link FlexTreeUnboxNodeUnion} for documentation on what unwrapping this performs.
 */
export declare function unboxedUnion<TTypes extends FlexAllowedTypes>(context: Context, schema: FlexFieldSchema<FlexFieldKind, TTypes>, cursor: ITreeSubscriptionCursor): FlexTreeUnboxNodeUnion<TTypes>;
/**
 * @param context - the common context of the field.
 * @param schema - the TreeFieldStoredSchema of the field.
 * @param cursor - the cursor, which must point to the field being proxified.
 */
export declare function unboxedField<TSchema extends FlexFieldSchema>(context: Context, schema: TSchema, cursor: ITreeSubscriptionCursor): FlexTreeUnboxField<TSchema>;
//# sourceMappingURL=unboxed.d.ts.map