/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { type AnnotatedAllowedType, type ImplicitAnnotatedAllowedTypes, type SchemaUpgrade } from "./allowedTypes.js";
import type { TreeTypeSet } from "../../core/index.js";
/**
 * Options for generating a {@link TreeStoredSchema} from view schema.
 */
export interface StoredSchemaGenerationOptions {
    /**
     * Determines whether to include staged schema in the resulting stored schema.
     * @remarks
     * Due to caching, the behavior of this function must be pure.
     */
    includeStaged(upgrade: SchemaUpgrade): boolean;
}
/**
 * Filters an allowed type based on the provided options.
 * @param allowedType - The allowed type to filter.
 * @param options - The options to use for filtering.
 * @returns Whether the allowed type passes the filter.
 */
export declare function allowedTypeFilter(allowedType: AnnotatedAllowedType, options: StoredSchemaGenerationOptions): boolean;
/**
 * Converts an ImplicitAnnotatedAllowedTypes to a stored schema.
 * @param schema - The schema to convert.
 * @param options - The options to use for filtering.
 * @returns The converted stored schema.
 */
export declare function convertAllowedTypes(schema: ImplicitAnnotatedAllowedTypes, options: StoredSchemaGenerationOptions): TreeTypeSet;
//# sourceMappingURL=toStored.d.ts.map