/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ValueSchema } from "../../core";
import { TreeFieldSchema } from "../../feature-libraries";
/**
 * Types allowed as roots of Json content.
 * @alpha
 */
export declare const jsonRoot: readonly [() => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.object", {
    mapFields: TreeFieldSchema<import("../../feature-libraries").Optional, readonly [any, () => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.array", {
        objectNodeFields: {
            "": TreeFieldSchema<import("../../feature-libraries").SequenceFieldKind, readonly [any, any, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
                leafValue: ValueSchema.Number;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
                leafValue: ValueSchema.Boolean;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
                leafValue: ValueSchema.String;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
                leafValue: ValueSchema.Null;
            }>]>;
        };
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
        leafValue: ValueSchema.Number;
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
        leafValue: ValueSchema.Boolean;
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
        leafValue: ValueSchema.String;
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
        leafValue: ValueSchema.Null;
    }>]>;
}>, () => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.array", {
    objectNodeFields: {
        "": TreeFieldSchema<import("../../feature-libraries").SequenceFieldKind, readonly [() => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.object", {
            mapFields: TreeFieldSchema<import("../../feature-libraries").Optional, readonly [any, any, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
                leafValue: ValueSchema.Number;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
                leafValue: ValueSchema.Boolean;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
                leafValue: ValueSchema.String;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
                leafValue: ValueSchema.Null;
            }>]>;
        }>, any, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
            leafValue: ValueSchema.Number;
        }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
            leafValue: ValueSchema.Boolean;
        }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
            leafValue: ValueSchema.String;
        }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
            leafValue: ValueSchema.Null;
        }>]>;
    };
}>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
    leafValue: ValueSchema.Number;
}>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
    leafValue: ValueSchema.Boolean;
}>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
    leafValue: ValueSchema.String;
}>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
    leafValue: ValueSchema.Null;
}>];
/**
 * @alpha
 */
export declare const jsonObject: import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.object", {
    mapFields: TreeFieldSchema<import("../../feature-libraries").Optional, readonly [() => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.object", any>, () => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.array", {
        objectNodeFields: {
            "": TreeFieldSchema<import("../../feature-libraries").SequenceFieldKind, readonly [() => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.object", any>, any, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
                leafValue: ValueSchema.Number;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
                leafValue: ValueSchema.Boolean;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
                leafValue: ValueSchema.String;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
                leafValue: ValueSchema.Null;
            }>]>;
        };
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
        leafValue: ValueSchema.Number;
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
        leafValue: ValueSchema.Boolean;
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
        leafValue: ValueSchema.String;
    }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
        leafValue: ValueSchema.Null;
    }>]>;
}>;
/**
 * @alpha
 */
export declare const jsonArray: import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.array", {
    objectNodeFields: {
        "": TreeFieldSchema<import("../../feature-libraries").SequenceFieldKind, readonly [() => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.object", {
            mapFields: TreeFieldSchema<import("../../feature-libraries").Optional, readonly [any, () => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.array", any>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
                leafValue: ValueSchema.Number;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
                leafValue: ValueSchema.Boolean;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
                leafValue: ValueSchema.String;
            }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
                leafValue: ValueSchema.Null;
            }>]>;
        }>, () => import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.json.array", any>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.number", {
            leafValue: ValueSchema.Number;
        }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.boolean", {
            leafValue: ValueSchema.Boolean;
        }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.string", {
            leafValue: ValueSchema.String;
        }>, import("../../feature-libraries").TreeNodeSchema<"com.fluidframework.leaf.null", {
            leafValue: ValueSchema.Null;
        }>]>;
    };
}>;
/**
 * @alpha
 */
export declare const jsonSchema: import("../../feature-libraries").SchemaLibrary;
//# sourceMappingURL=jsonDomainSchema.d.ts.map