/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { FieldKindIdentifier, TreeFieldStoredSchema, TreeNodeStoredSchema, TreeNodeSchemaIdentifier, ValueSchema } from "./schema";
/**
 * APIs to help build schema.
 *
 * See typedSchema.ts for a wrapper for these APIs that captures the types as TypeScript types
 * in addition to runtime data.
 */
/**
 * Empty readonly set.
 */
export declare const emptySet: ReadonlySet<never>;
/**
 * Empty readonly map.
 */
export declare const emptyMap: ReadonlyMap<never, never>;
/**
 * Helper for building {@link TreeFieldStoredSchema}.
 * @alpha
 */
export declare function fieldSchema(kind: {
    identifier: FieldKindIdentifier;
}, types?: Iterable<TreeNodeSchemaIdentifier>): TreeFieldStoredSchema;
/**
 * See {@link TreeNodeStoredSchema} for details.
 */
export interface TreeSchemaBuilder {
    readonly objectNodeFields?: {
        [key: string]: TreeFieldStoredSchema;
    };
    readonly mapFields?: TreeFieldStoredSchema;
    readonly leafValue?: ValueSchema;
}
/**
 * Helper for building {@link TreeNodeStoredSchema}.
 */
export declare function treeSchema(data: TreeSchemaBuilder): TreeNodeStoredSchema;
//# sourceMappingURL=builders.d.ts.map