import { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec";
//#region src/utils/standard_schema.d.ts
/**
* A schema that supports both runtime validation and JSON Schema generation. Any schema passed
* to withStructuredOutput must satisfy both interfaces.
*/
type SerializableSchema = StandardSchemaV1 & StandardJSONSchemaV1;
/**
* Type guard for Standard Schema V1. Returns true if the value has a `~standard.validate`
* interface, indicating it can validate unknown values at runtime (e.g. for parsing LLM output).
*/
declare function isStandardSchema(schema: unknown): schema is StandardSchemaV1;
/**
* Type guard for Standard JSON Schema V1. Returns true if the value has a `~standard.jsonSchema`
* interface, indicating it can be converted to a JSON Schema object (e.g. for sending as a tool
* definition to an LLM).
*/
declare function isStandardJsonSchema(schema: unknown): schema is StandardJSONSchemaV1;
/**
* Type guard for Standard Schema V1. Returns true if the value has a `~standard.validate` interface,
* indicating it can validate unknown values at runtime (e.g. for parsing LLM output).
*/
declare function isSerializableSchema(schema: unknown): schema is SerializableSchema;
//#endregion
export { SerializableSchema, isSerializableSchema, isStandardJsonSchema, isStandardSchema };
//# sourceMappingURL=standard_schema.d.ts.map