import type { z } from 'zod'; import type { AnyOfSchema, AnySchema, BinarySchema, BooleanSchema, ItemSchema, ListSchema, MapSchema, NullSchema, NumberSchema, RecordSchema, Schema, SetSchema, StringSchema } from '../../../../schema/index.js'; import type { AnyZodFormatter } from './any.js'; import type { AnyOfZodFormatter } from './anyOf.js'; import type { BinaryZodFormatter } from './binary.js'; import type { BooleanZodFormatter } from './boolean.js'; import type { ItemZodFormatter } from './item.js'; import type { ListZodFormatter } from './list.js'; import type { MapZodFormatter } from './map.js'; import type { NullZodFormatter } from './null.js'; import type { NumberZodFormatter } from './number.js'; import type { RecordZodFormatter } from './record.js'; import type { SetZodFormatter } from './set.js'; import type { StringZodFormatter } from './string.js'; import type { ZodFormatterOptions } from './types.js'; export type ZodFormatter = SCHEMA extends ItemSchema ? ItemZodFormatter : SCHEMA extends Schema ? SchemaZodFormatter : never; export type SchemaZodFormatter = Schema extends SCHEMA ? z.ZodTypeAny : (SCHEMA extends AnySchema ? AnyZodFormatter : never) | (SCHEMA extends NullSchema ? NullZodFormatter : never) | (SCHEMA extends BooleanSchema ? BooleanZodFormatter : never) | (SCHEMA extends NumberSchema ? NumberZodFormatter : never) | (SCHEMA extends StringSchema ? StringZodFormatter : never) | (SCHEMA extends BinarySchema ? BinaryZodFormatter : never) | (SCHEMA extends SetSchema ? SetZodFormatter : never) | (SCHEMA extends ListSchema ? ListZodFormatter : never) | (SCHEMA extends MapSchema ? MapZodFormatter : never) | (SCHEMA extends RecordSchema ? RecordZodFormatter : never) | (SCHEMA extends AnyOfSchema ? AnyOfZodFormatter : never); export declare const schemaZodFormatter: (schema: SCHEMA, options?: OPTIONS) => SchemaZodFormatter;