/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { FlexTreeSchema, FlexAllowedTypes, FlexFieldKind } from "../../../feature-libraries/index.js";
import { Context } from "../../../feature-libraries/flex-tree/context.js";
import { FieldAnchor, IEditableForest, ITreeSubscriptionCursor } from "../../../core/index.js";
import { TreeContent } from "../../../shared-tree/index.js";
export declare function getReadonlyContext(forest: IEditableForest, schema: FlexTreeSchema): Context;
/**
 * Creates a context and its backing forest from the provided `content`.
 *
 * For creating mutable views use {@link viewWithContent}, but prefer this when possible as it has fewer dependencies and simpler setup.
 *
 * @returns The created context.
 */
export declare function contextWithContentReadonly(content: TreeContent): Context;
/**
 * Creates a cursor from the provided `context` and moves it to the provided `anchor`.
 */
export declare function initializeCursor(context: Context, anchor: FieldAnchor): ITreeSubscriptionCursor;
export declare const rootFieldAnchor: FieldAnchor;
/**
 * Initializes a readonly test tree, context, and cursor, and moves the cursor to the tree's root.
 *
 * @returns The initialized context and cursor.
 */
export declare function readonlyTreeWithContent<Kind extends FlexFieldKind, Types extends FlexAllowedTypes>(treeContent: TreeContent): {
    context: Context;
    cursor: ITreeSubscriptionCursor;
};
//# sourceMappingURL=utils.d.ts.map