import type { M } from "ts-algebra"; import type { ExtendedJSONSchema, FromExtendedSchemaOptions, FromSchemaDefaultOptions, FromSchemaOptions, JSONSchema, JSONSchemaExtension, UnextendJSONSchema } from "./definitions"; import type { ParseOptions } from "./parse-options"; import type { ParseSchema } from "./parse-schema"; export type { ExtendedJSONSchema, DeserializationPattern, FromSchemaOptions, FromExtendedSchemaOptions, FromSchemaDefaultOptions, JSONSchemaExtension, JSONSchema, } from "./definitions"; export type { $Compiler, Compiler, $Validator, Validator } from "./utils"; export { wrapCompilerAsTypeGuard, wrapValidatorAsTypeGuard, asConst, } from "./utils"; export type FromSchema = M.$Resolve>>; export type FromExtendedSchema, OPTIONS extends FromExtendedSchemaOptions = FromSchemaDefaultOptions, UNEXTENDED_SCHEMA = UnextendJSONSchema> = UNEXTENDED_SCHEMA extends JSONSchema ? FromSchema : never;