import { type JsonSchema } from "./subschemas.js"; import { UninterpretedSchema } from "./unusable-schema.js"; /** Whether `schema`, or the local reference it holds, is object-only. */ export declare function isObjectOnly(schema: unknown, root?: unknown, ancestors?: Set): boolean; /** Whether the checks read a schema whose `$schema` is `dialect`. */ export declare function interpretsDialect(dialect: unknown): boolean; /** * The checks every list that offers a tool runs on its input schema, read * from a plain copy (`plainJsonSnapshot`) the check may edit: `defineAction` * on the source it strips, MCP and the in-app agent on the parameters they * convert, and the MCP client on each remote tool. Throws * `UnusableSchemaError` for a root that is not an object schema or that no * object satisfies, a position no value satisfies, and a reference that does * not resolve. Returns the copy with its local references rebased into root * `$defs`, so stripping and flattening cannot leave a valid one dangling. * A `$schema` other than 2020-12, which MCP assumes when there is none, turns * off every check but the object root `main` required: the schema comes back * unread, as an `UninterpretedSchema`. */ export declare function assertUsableSchema(snapshot: unknown): JsonSchema | UninterpretedSchema;