/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ITreeSubscriptionCursor } from "../../core";
import { FieldKind } from "../modular-schema";
import { AllowedTypes, TreeFieldSchema, TreeNodeSchema } from "../typed-schema";
import { Context } from "./context";
import { FlexTreeUnboxField, FlexTreeUnboxNode, FlexTreeUnboxNodeUnion } from "./flexTreeTypes";
/**
 * See {@link FlexTreeUnboxNode} for documentation on what unwrapping this performs.
 */
export declare function unboxedTree<TSchema extends TreeNodeSchema>(context: Context, schema: TSchema, cursor: ITreeSubscriptionCursor): FlexTreeUnboxNode<TSchema>;
/**
 * See {@link FlexTreeUnboxNodeUnion} for documentation on what unwrapping this performs.
 */
export declare function unboxedUnion<TTypes extends AllowedTypes>(context: Context, schema: TreeFieldSchema<FieldKind, 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 TreeFieldSchema>(context: Context, schema: TSchema, cursor: ITreeSubscriptionCursor): FlexTreeUnboxField<TSchema>;
//# sourceMappingURL=unboxed.d.ts.map