import type { z } from "zod";
export type JsonSchemaNode = Record<string, unknown>;
export type SchemaField = {
    path: string;
    schema: z.ZodType;
    jsonSchema: JsonSchemaNode;
    optional: boolean;
    nullable: boolean;
    hasUniquenessRefine: boolean;
    relationOwnership: boolean;
};
export declare function toJsonSchema(schema: z.ZodType): JsonSchemaNode;
export declare function collectSchemaFields(schema: z.ZodType): SchemaField[];
export declare function readNumberConstraint(jsonSchema: JsonSchemaNode, key: "minimum" | "maximum" | "multipleOf"): number | undefined;
export declare function readIntegerConstraint(jsonSchema: JsonSchemaNode, key: "minLength" | "maxLength" | "minItems" | "maxItems"): number | undefined;
export declare function readEnumValues(jsonSchema: JsonSchemaNode): string[] | undefined;
export declare function readSchemaType(jsonSchema: JsonSchemaNode): string | undefined;
export declare function readSchemaFormat(jsonSchema: JsonSchemaNode): string | undefined;
export declare function readSchemaPattern(jsonSchema: JsonSchemaNode): string | undefined;
export declare function schemaCoercesInput(schema: z.ZodType): boolean;
//# sourceMappingURL=schema-introspection.d.ts.map