"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.on = exports.contextSymbol = exports.parentField = exports.replaceField = exports.createField = exports.getField = exports.typeSymbol = exports.proxyTargetSymbol = void 0;
const contextuallyTyped_1 = require("../contextuallyTyped");
/**
 * A symbol for extracting target from {@link EditableTree} proxies.
 * Useful for debugging and testing, but not part of the public API.
 * @alpha
 */
exports.proxyTargetSymbol = Symbol("editable-tree:proxyTarget");
/**
 * A symbol to get the type of {@link EditableTree} in contexts where string keys are already in use for fields.
 * @alpha
 */
exports.typeSymbol = Symbol("editable-tree:type");
/**
 * A symbol to get the function, which returns the field of {@link EditableTree} without unwrapping,
 * in contexts where string keys are already in use for fields.
 * @alpha
 */
exports.getField = Symbol("editable-tree:getField()");
/**
 * A symbol to get the function, which creates a new field of {@link EditableTree},
 * in contexts where string keys are already in use for fields.
 * @alpha
 */
exports.createField = Symbol("editable-tree:createField()");
/**
 * A symbol to get the function, which replaces a field of {@link EditableTree},
 * in contexts where string keys are already in use for fields.
 * @alpha
 */
exports.replaceField = Symbol("editable-tree:replaceField()");
/**
 * A symbol to get information about where an {@link EditableTree} is parented in contexts where string keys are already in use for fields.
 * in contexts where string keys are already in use for fields.
 * @alpha
 */
exports.parentField = Symbol("editable-tree:parentField()");
/**
 * A symbol to get a common context of a "forest" of EditableTrees
 * in contexts where string keys are already in use for fields.
 * @alpha
 */
exports.contextSymbol = Symbol("editable-tree:context");
/**
 * A symbol for subscribing to events.
 * @alpha
 */
exports.on = Symbol("editable-tree:on");
//# sourceMappingURL=editableTreeTypes.js.map