/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { AllowedTypes, TreeFieldSchema, ObjectNodeSchema, TreeNodeSchema } from "../../typed-schema";
import { TreeNode, TypedField, TypedNodeUnion } from "../editableTreeTypes";
import { ProxyField, ProxyNode, SharedTreeList, SharedTreeObject } from "./types";
/** Retrieve the associated proxy for the given field. */
export declare function getProxyForField<TSchema extends TreeFieldSchema>(field: TypedField<TSchema>): ProxyField<TSchema>;
export declare function getProxyForNode<TSchema extends TreeNodeSchema>(treeNode: TreeNode): ProxyNode<TSchema>;
export declare function createObjectProxy<TSchema extends ObjectNodeSchema, TTypes extends AllowedTypes>(content: TypedNodeUnion<TTypes>, schema: TSchema): SharedTreeObject<TSchema>;
export declare function createListProxy<TTypes extends AllowedTypes>(treeNode: TreeNode): SharedTreeList<TTypes>;
//# sourceMappingURL=proxies.d.ts.map