/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { SchemaUpgrade } from "./allowedTypes.js";
import type { TreeTypeSet } from "../../core/index.js";
import type { SimpleAllowedTypeAttributes, SimpleAllowedTypes } from "../simpleSchema.js";
/**
 * Options for generating a {@link TreeStoredSchema} from view schema.
 */
export interface StoredFromViewSchemaGenerationOptions {
    /**
     * 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;
}
/**
 * Marker type indicating that the input schema is already a stored schema.
 */
export declare const ExpectStored: unique symbol;
export type ExpectStored = typeof ExpectStored;
export type StoredSchemaGenerationOptions = StoredFromViewSchemaGenerationOptions | ExpectStored;
/**
 * 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(data: SimpleAllowedTypeAttributes, options: StoredSchemaGenerationOptions): boolean;
/**
 * Converts a {@link SimpleAllowedTypes} 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: SimpleAllowedTypes, options: StoredSchemaGenerationOptions): TreeTypeSet;
//# sourceMappingURL=toStored.d.ts.map