/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { FieldKindIdentifier, FieldStoredSchema, GlobalFieldKey, TreeStoredSchema, TreeSchemaIdentifier, 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 FieldStoredSchema}.
 * @alpha
 */
export declare function fieldSchema(kind: {
    identifier: FieldKindIdentifier;
}, types?: Iterable<TreeSchemaIdentifier>): FieldStoredSchema;
/**
 * See {@link TreeStoredSchema} for details.
 * @alpha
 */
export interface TreeSchemaBuilder {
    readonly localFields?: {
        [key: string]: FieldStoredSchema;
    };
    readonly globalFields?: Iterable<GlobalFieldKey>;
    readonly extraLocalFields: FieldStoredSchema;
    readonly extraGlobalFields?: boolean;
    readonly value?: ValueSchema;
}
/**
 * Helper for building {@link TreeStoredSchema}.
 */
export declare function treeSchema(data: TreeSchemaBuilder): TreeStoredSchema;
//# sourceMappingURL=builders.d.ts.map