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