/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { JsonableTree } from "../core/index.js";
import { FlexFieldSchema, FullSchemaPolicy, SchemaLibrary, FlexTreeSchema } from "../feature-libraries/index.js";
import { TreeContent } from "../shared-tree/index.js";
interface TestTree {
    readonly name: string;
    readonly schemaData: FlexTreeSchema;
    readonly policy: FullSchemaPolicy;
    readonly treeFactory: () => JsonableTree[];
}
export declare function treeContentFromTestTree(test: TestTree): TreeContent;
export declare const minimal: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.minimal", {}>;
export declare const hasMinimalValueField: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.hasMinimalValueField", {
    readonly field: FlexFieldSchema<import("../feature-libraries/index.js").Required, readonly [import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.minimal", {}>]>;
}>;
export declare const hasNumericValueField: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.hasNumericValueField", {
    readonly field: FlexFieldSchema<import("../feature-libraries/index.js").Required, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
}>;
export declare const hasPolymorphicValueField: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.hasPolymorphicValueField", {
    readonly field: FlexFieldSchema<import("../feature-libraries/index.js").Required, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>, import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.minimal", {}>]>;
}>;
export declare const hasAnyValueField: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.hasAnyValueField", {
    readonly field: FlexFieldSchema<import("../feature-libraries/index.js").Required, readonly ["Any"]>;
}>;
export declare const hasOptionalField: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.hasOptionalField", {
    readonly field: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
}>;
export declare const allTheFields: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.allTheFields", {
    readonly optional: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
    readonly valueField: FlexFieldSchema<import("../feature-libraries/index.js").Required, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
    readonly sequence: FlexFieldSchema<import("../feature-libraries/index.js").Sequence, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
}>;
export declare const anyFields: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.anyFields", {
    readonly optional: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly ["Any"]>;
    readonly valueField: FlexFieldSchema<import("../feature-libraries/index.js").Required, readonly ["Any"]>;
    readonly sequence: FlexFieldSchema<import("../feature-libraries/index.js").Sequence, readonly ["Any"]>;
}>;
export declare const escapedFieldProperties: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.escapedFieldProperties", {
    readonly value: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
    readonly set: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
    readonly setValue: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
    readonly field: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>;
}>;
export declare const numericMap: import("../feature-libraries/index.js").FlexMapNodeSchema<"test.numericMap", FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [import("../feature-libraries/index.js").LeafNodeSchema<"com.fluidframework.leaf.number", import("../core/index.js").ValueSchema.Number>]>>;
export declare const anyMap: import("../feature-libraries/index.js").FlexMapNodeSchema<"test.anyMap", FlexFieldSchema<import("../feature-libraries/index.js").Sequence, readonly ["Any"]>>;
export declare const recursiveType: import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.recursiveType", {
    readonly field: FlexFieldSchema<import("../feature-libraries/index.js").Optional, readonly [() => import("../feature-libraries/index.js").FlexObjectNodeSchema<"test.recursiveType", any>]>;
}>;
export declare const library: SchemaLibrary;
export declare const storedLibrary: import("../core/index.js").StoredSchemaCollection;
export declare const testTrees: readonly TestTree[];
export {};
//# sourceMappingURL=testTrees.d.ts.map