/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { type TreeFieldStoredSchema, type TreeNodeStoredSchema, type TreeStoredSchema } from "../core/index.js";
import { type FlexFieldKind } from "../feature-libraries/index.js";
import { FieldKind, type ImplicitFieldSchema } from "./schemaTypes.js";
import type { SimpleFieldSchema, SimpleNodeSchema, SimpleTreeSchema } from "./simpleSchema.js";
/**
 * Converts a {@link ImplicitFieldSchema} into a {@link TreeStoredSchema}.
 * @throws
 * Throws a `UsageError` if multiple schemas are encountered with the same identifier.
 */
export declare function toStoredSchema(root: ImplicitFieldSchema): TreeStoredSchema;
/**
 * Converts a {@link SimpleTreeSchema} into a {@link TreeStoredSchema}.
 */
export declare function simpleToStoredSchema(root: SimpleTreeSchema): TreeStoredSchema;
/**
 * Normalizes an {@link ImplicitFieldSchema} into a {@link TreeFieldSchema}.
 */
export declare function convertField(schema: SimpleFieldSchema): TreeFieldStoredSchema;
/**
 * A map that converts {@link FieldKind} to {@link FlexFieldKind}.
 */
export declare const convertFieldKind: ReadonlyMap<FieldKind, FlexFieldKind>;
/**
 * Converts a {@link TreeNodeSchema} into a {@link TreeNodeStoredSchema}.
 * @privateRemarks
 * TODO: Persist node metadata once schema FormatV2 is supported.
 */
export declare function getStoredSchema(schema: SimpleNodeSchema): TreeNodeStoredSchema;
//# sourceMappingURL=toStoredSchema.d.ts.map